我試圖阻止用戶移動到谷歌地圖的某個區域之外。但是,似乎並沒有一個簡單的方法來做到這一點。第一次在這裏問這麼仁慈。阻止用戶走出地圖邊界
我已經嘗試了下面的努力來輪詢用戶滾動,但問題是,OnCameraChange不會經常發生火災,所以它的工作原理和不準確。我知道必須有一些方法來做到這一點,因爲它看起來像一個簡單而必要的功能。
private static final LatLng NEBOUND = new LatLng(47.670606, -117.393344);
private static final LatLng SWBOUND = new LatLng(47.661283, -117.411052);
private static final LatLngBounds MAPBOUNDARY = new LatLngBounds(SWBOUND, NEBOUND);
private LatLng lastCenter = new LatLng(47.667454, -117.402309);
private final OnCameraChangeListener mOnCameraChangeListener =
new OnCameraChangeListener() {
@Override
public void onCameraChange(CameraPosition cameraPosition) {
LatLngBounds visibleBounds = guMap.getProjection().getVisibleRegion().latLngBounds;
if(!MAPBOUNDARY.contains(visibleBounds.northeast) || !MAPBOUNDARY.contains(visibleBounds.southwest)){
guMap.moveCamera(CameraUpdateFactory.newLatLng(lastCenter));
}
else
lastCenter = guMap.getCameraPosition().target;
centerLoc.setText(lastCenter.toString());
}
};
的重複:http://stackoverflow.com/questions/14977078/limit-scrolling-and-zooming-google-maps-android-api-v2/14977861#14977861 – 2013-04-29 06:46:57
@thibaultd這就是我什麼嘗試,但OnCameraChange不經常發射。上面有一條評論,看起來好像可以工作,但是它是針對APIv1的,看起來像是矯枉過正,一定有更好的辦法。 – kag0 2013-04-29 18:11:45