Google Maps API v2:阻止滚动地图边框

时间:2014-04-11 11:39:09

标签: android google-maps

使用我的Google Map API v2标准设置,似乎可以在现有地图数据之外滚动。滚动实际上有一个限制,但它似乎在实际的地图范围之外。

有没有一种简单的方法来解决这个问题?

enter image description here

1 个答案:

答案 0 :(得分:0)

在我的项目中,我使用从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))); 

我希望这就是你要找的东西。