3

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

4

3 回答 3

14

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

最新版本的谷歌地图 SDK 功能-setMinZoom:maxZoom:应该可以满足您的目的。

参考链接在这里

于 2014-05-31T06:53:21.297 回答
2

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

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

于 2013-03-26T14:54:38.363 回答
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

    }
}
于 2018-10-11T16:07:42.540 回答