为Google Maps for iOS SDK设置最大缩放级别kGMSMaxZoomLevel

时间:2013-03-26 12:58:12

标签: google-maps-sdk-ios

我正在试用iOS Google Maps SDK并注意到GMSCameraPosition.h头文件中有引用kGMSMaxZoomLevel来设置允许的最大缩放级别。我希望能够设置它,但是当#defining为实现中的值时,XCode声明在执行此操作时存在重复的符号,因此不会编译。有人能指出我使用这个新SDK设置最小和最大缩放级别的正确方向吗? 非常感谢

3 个答案:

答案 0 :(得分:9)

我知道这是一个老帖子,但为了完整起见,我发布了这个帖子。

最新版本的Google地图SDK功能-setMinZoom:maxZoom:应该可以满足您的需求。

参考link here

答案 1 :(得分:0)

kGMSMaxZoomLevel是SDK支持的最大值,即您在创建GMSCameraPosition时可以设置的值。您无法更改其值,以使地图停在不同的缩放级别。

您可以尝试听[mapView:didChangeCameraPosition:],然后如果相机位置比您想要的更大,请将其再次移出。我没有试过这个,所以我不确定它是否会起作用。它可能会有点卡顿 - 即用户将缩放超过最大值,您将其设置回来,然后用户将再次缩放,等等。

答案 2 :(得分:0)

func mapView(_ mapView: GMSMapView, didChange position: GMSCameraPosition) {

    if position.zoom < 10 {

        let latitude = mapView.camera.target.latitude
        let longitude = mapView.camera.target.longitude

        let mapCamera = GMSCameraPosition.camera(withLatitude: latitude, longitude: longitude, zoom: 10)
        mapView.camera = mapCamera

    }
}