如何为 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
}
我是 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
}