ios - didUpdate userLocation:用于谷歌地图 ios swyft 的 MKUserLocation
问题描述
我最近将我的地图从 mapkit 切换到谷歌地图。但是,我想将用户位置坐标更新为 firebase。谷歌相当于 MKUserLocation 是什么
func mapView(_ mapView: GMSMapView, didUpdate userLocation: MKUserLocation) {
UpdateService.instance.updateALocation(withCoordinate: userLocation.coordinate)
UpdateService.instance.updateBLocation(withCoordinate: userLocation.coordinate)
我希望能够实时更新坐标到带有坐标的firebase
解决方案
简单的答案是谷歌地图没有等效的方法。从 iOS 的角度来看,谷歌地图是第三方。因此,就像所有其他应用程序一样,它们也必须使用 Apple 的核心位置库来获取用户位置。甚至 MKMapView 也在内部使用 CLLocationManager。您需要使用locationManager:didUpdateLocations:
委托方法。
您可以参考此答案以了解在谷歌地图中使用核心位置。https://stackoverflow.com/a/38627279/4637057
所以在你的情况下,如果你想将位置坐标发送到 Firebase,那么在里面locationManager:didUpdateLocations:
访问locations.last?.coordinate.latitude!
和locations.last?.coordinate.longitude!
推荐阅读
- google-apps-script - 将带有 urlFetchApp 的文件发布到谷歌网络应用程序
- git - 如何删除已发布的分支而不在 github 控制台上创建拉取请求
- python-3.x - matplotlib 将 pcolormesh 绘图转移到对称坐标
- python - Python 中的张量积
- c# - 避免在 Event Dispatcher 中使用 switch case 调用对应的 Event Handler
- google-chrome-extension - 如何在 devtools 网络选项卡中获取内容传输 [大小] 信息?
- flutter - 如何扩展 BorderSide 以制作渐变边框
- google-apps-script - 如何根据条件更新不同选项卡上的单元格值
- python - R 交互()函数的 Python 等效项
- javascript - 如何在 Mapbox-gl-js 中为特定案例创建表达式?