Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 谷歌地图V2-Android-获取当前的缩放级别_Java_Android_Google Maps Android Api 2_Android Maps V2 - Fatal编程技术网

Java 谷歌地图V2-Android-获取当前的缩放级别

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; 我认为只要一

如何在谷歌地图上以整数形式获取当前缩放级别。我需要从GMAPSV1.1中获取以下代码:

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取代‌​ListenerOnCameraMoveListenerOnCameraMoveCancel‌​edListenerOnCameraideListener

因此,我们可以在这里使用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..
    }
});