2
上滾動,它似乎允許滾動到現有地圖數據之外。滾動實際上是有限制的,但它似乎在實際的地圖範圍之外。Google Maps API v2:使用我的Google Map API v2標準設置防止在地圖邊界
有沒有簡單的方法來解決這個問題?
上滾動,它似乎允許滾動到現有地圖數據之外。滾動實際上是有限制的,但它似乎在實際的地圖範圍之外。Google Maps API v2:使用我的Google Map API v2標準設置防止在地圖邊界
有沒有簡單的方法來解決這個問題?
在我的項目,我使用的是從onCameraChange調用的函數。它將相機移回到地圖的允許區域內。
// First set the bounds
private static final LatLng NORTHEAST = new LatLng("LAT HERE", "LNG HERE");
private static final LatLng SOUTHWEST = new LatLng("LAT HERE", "LNG HERE");
private static final LatLngBounds BOUNDS = new LatLngBounds(SOUTHWEST, NORTHEAST);
的方法是這樣的:
if (BOUNDS.contains(googleMap.getCameraPosition().target)) {
return;
}
double x = googleMap.getCameraPosition().target.longitude;
double y = googleMap.getCameraPosition().target.latitude;
double maxX = BOUNDS.northeast.longitude;
double maxY = BOUNDS.northeast.latitude;
double minX = BOUNDS.southwest.longitude;
double minY = BOUNDS.southwest.latitude;
if (x < minX) {
x = minX;
}
if (x > maxX) {
x = maxX;
}
if (y < minY) {
y = minY;
}
if (y > maxY) {
y = maxY;
}
googleMap.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(y, x)));
我希望這是你在找什麼。
這是一個解決方案,是真的。如果您爲新相機位置設置動畫,看起來會更好。儘管如此,它並不是一個真正的解決方案,因爲您仍然可以滾動定義邊界的邊界。我想要的是與Google地圖應用中的行爲相同:您無法進一步滾動。 – Paul
對此的任何更新,尤其是從JS API調用時? –
我很長一段時間搬到其他項目。我不認爲我找到了一個很好的解決方案,但檢查AndyHs解決方案,這可能會有所斬獲。 – Paul