如何为 iOS Swift 自定义 "myLocationButton" 的 Google 地图

How to customize "myLocationButton" of Google Maps for iOS Swift

我是 iOS 开发的新手。我想在 Google Maps SDK for iOS 中创建一个功能与默认按钮 (myLocationButton) 相同的自定义按钮。我可以这样做吗? 我可以创建按钮,但我不知道如何添加操作来跟踪我的当前位置并在屏幕中央显示标记。我正在使用 Swift 3.

如有任何帮助,我们将不胜感激!

您可以像这样执行操作:

func gotoMyLocationAction(sender: UIButton)
{
    guard let lat = self.mapView.myLocation?.coordinate.latitude,
          let lng = self.mapView.myLocation?.coordinate.longitude else { return }

    let camera = GMSCameraPosition.camera(withLatitude: lat ,longitude: lng , zoom: zoom)
    self.mapView.animate(to: camera)
}

这会使您的地图以您当前的位置为中心(如果存在)。希望有所帮助。

确保 GMSMapView 上的位置检测已启用

self.mapView.isMyLocationEnabled = true

使用 GoogleMapSDK 2.7.0 更新 Swift 4 以获得@Thomas 的回答

func didTapMyLocationButton(for mapView: GMSMapView) -> Bool {

    guard let lat = googleMapView.myLocation?.coordinate.latitude,
        let lng = googleMapView.myLocation?.coordinate.longitude else { return false }

    let camera = GMSCameraPosition.camera(withLatitude: lat ,longitude: lng , zoom: userMapZoom)
    googleMapView.animate(to: camera)

    return true

}