Java 谷歌地图V2-Android-获取当前的缩放级别
如何在谷歌地图上以整数形式获取当前缩放级别。我需要从GMAPSV1.1中获取以下代码:Java 谷歌地图V2-Android-获取当前的缩放级别,java,android,google-maps-android-api-2,android-maps-v2,Java,Android,Google Maps Android Api 2,Android Maps V2,如何在谷歌地图上以整数形式获取当前缩放级别。我需要从GMAPSV1.1中获取以下代码: MapView mGoogleMapView; int zoomLevel = mGoogleMapView.getZoomLevel(); 我知道getMinZoomLevel()和getMaxZoomLevel()方法,但是在Android GMap V2文档中找不到任何可以给出当前缩放级别的方法。有人对如何做到这一点有什么建议吗 任何帮助都将不胜感激 GoogleMap map; 我认为只要一
MapView mGoogleMapView;
int zoomLevel = mGoogleMapView.getZoomLevel();
我知道getMinZoomLevel()和getMaxZoomLevel()方法,但是在Android GMap V2文档中找不到任何可以给出当前缩放级别的方法。有人对如何做到这一点有什么建议吗
任何帮助都将不胜感激
GoogleMap map;
我认为只要一次成功,安吉利斯滕纳就会成功
map.setOnCameraChangeListener(new OnCameraChangeListener() {
private float currentZoom = -1;
@Override
public void onCameraChange(CameraPosition position) {
if (position.zoom != currentZoom){
currentZoom = position.zoom; // here you get zoom level
}
}
});
更新:
Google Play服务9.4.0OnCameraChangeListener已被弃用,不久将无法使用。或者,他们将被OnCameraMoveStarted取代Listener,OnCameraMoveListener,OnCameraMoveCanceledListener和OnCameraideListener
因此,我们可以在这里使用OnCameraideListener来获取相机的当前缩放级别
代码示例:
map.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() {
@Override
public void onCameraIdle() {
int zoomLevel = map.getCameraPosition().zoom;
//use zoomLevel value..
}
});
这必须在UI线程上完成,否则会出现异常!此方法已被弃用。替换为setOnCameraMoveStartedListener(GoogleMap.OnCameraMoveStartedListener)、setOnCameraMoveListener(GoogleMap.OnCameraMoveListener)、setOnCameraMoveCanceledListener(GoogleMap.OnCameraMoveCanceledListener)和SetOnCameraideListener(GoogleMap.OnCameraRaidleListener)。@NaszNjokaSr.,谢谢您的关注。相应地进行了更新。在更新的版本中,是否可以只使用
map.getCameraPosition().zoom
?为什么需要实现侦听器?有了这个onCameraideListener
,难道你不会只有在相机进入空闲模式时才得到当前的缩放级别吗?看起来缩放值是一个浮点值而不是一个整数。
map.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() {
@Override
public void onCameraIdle() {
int zoomLevel = map.getCameraPosition().zoom;
//use zoomLevel value..
}
});