如何使用Swift启用Google Maps缩放控件

时间:2017-05-09 19:40:57

标签: ios swift swift3 google-maps-sdk-ios

我正在阅读Google maps for swift的文档,但与Android相比,我还没有找到设置“缩放控件”的方法。在我的地图上,默认情况下已禁用。

使用Google Maps iOS SDK存在显示控件的方法吗?

2 个答案:

答案 0 :(得分:10)

我认为@Scriptable是正确的,文档中没有Zoom Controls的{​​{1}}部分。

好吧,我制作了自己的(和非常基本的)控件。 enter image description here

保持此顺序(iOS SDKMapViewButton),否则您无法看到按钮。

enter image description here

首先,您必须选择Button并将课程更改为UIVIew

GSMMapView

MapViewController

答案 1 :(得分:0)

您应该捕获缩放的当前值,因为如果您对缩放值进行硬编码,并且当用户按手势缩小后按下按钮时,用户不仅会使用按钮,还会使用按钮和手势,那么您将缩放到旧的缩放值(非常接近地图)

要解决此问题,您应该在此处(在GMSMapViewDelegate中)捕获缩放值

func mapView(_ mapView: GMSMapView, didChange position: GMSCameraPosition) {
    zoom = mapView.camera.zoom
}

所有代码都是这样

    class A: UIViewController {
      var zoom: Float = 15

    @IBAction func ZoomInButtonPressed(_ sender: UIButton) {
        let nextZoom = zoom + 1
        mapView.animate(toZoom: nextZoom)
    }
}

extension A: GMSMapViewDelegate { 
    func mapView(_ mapView: GMSMapView, didChange position: GMSCameraPosition) {
        zoom = mapView.camera.zoom
    }
}