我正在阅读Google maps for swift的文档,但与Android相比,我还没有找到设置“缩放控件”的方法。在我的地图上,默认情况下已禁用。
使用Google Maps iOS SDK
存在显示控件的方法吗?
答案 0 :(得分:10)
我认为@Scriptable是正确的,文档中没有Zoom Controls
的{{1}}部分。
保持此顺序(iOS SDK
,MapView
,Button
),否则您无法看到按钮。
首先,您必须选择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
}
}