阻止用户从缩放级别缩小15映射v2 android

时间:2013-10-11 07:56:30

标签: android google-maps-android-api-2

我正在尝试将最小缩放级别设置为15,并且用户无法缩小该级别,但他可以放大到20。

因此,在整个应用程序中,用户可以使用缩放功能(true)但不能超出缩放级别15.我应该在15后禁用缩放吗?但这甚至会禁用放大。
在这种情况下,我不知道如何管理一个条件。我该怎么做。我真的很感激任何帮助 在此先感谢

public OnCameraChangeListener getCameraChangeListener()
{
    return new OnCameraChangeListener() 
    {
        @Override
        public void onCameraChange(CameraPosition position) 
        {
            Log.d("Zoom", "Zoom: " + position.zoom);

            if(previousZoomLevel != position.zoom)
            {
                isZooming = true;

                if(zoomscale==15){

        googleMap.getUiSettings().setZoomGesturesEnabled(false);

               googleMap.getUiSettings().setZoomControlsEnabled(false);


                       }

            }

            previousZoomLevel = position.zoom;
        }
    };
}

2 个答案:

答案 0 :(得分:2)

截至当前版本(3.2.65),没有用于设置最小/最大缩放级别的API 希望将来会有,gmaps-api-issues已经要求。

无论如何,有一种方法可以在您自己的代码中很好地处理它:在onCameraChange中,如果缩放小于15,请调用GoogleMap.animateCamera返回缩放15.它不会阻止用户缩小看到整个世界,但它会在用户完成他们想做的事情之后开始放大。它看起来与此类似:http://youtube.com/watch?v=-nCZ37HdheY(不仅缩放,而且位置也被“纠正”)。

答案 1 :(得分:2)

试试这个

  • 这将不允许用户在给定的缩放级别后缩小。
  • mMap.setMinZoomPreference(float yourDesiredLevel);