1

我正在尝试将最小缩放级别设置为 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;
        }
    };
}
4

2 回答 2

2

从当前版本 (3.2.65) 开始,没有用于设置最小/最大缩放级别的 API。
希望将来会有,因为gmaps-api-issues已经要求这样做。

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

于 2013-10-11T09:09:47.877 回答
2

试试这个

  • 这将不允许用户在给定缩放级别后缩小。
  • mMap.setMinZoomPreference(float yourDesiredLevel);
于 2018-03-16T07:08:07.180 回答