我是Swift和谷歌地圖的新手,任何人都可以通過使用Google Maps Swift 3來推薦如何跟蹤用戶的實時位置。如何使用谷歌地圖在swift 3中跟蹤用戶的實時位置?
回答
您需要考慮幾個步驟。
總的來說,你需要:
- 使用核心位置
CLLocation
- 初始化谷歌地圖查看
GMSMapView
- 每當你更新你動畫地圖視圖,以新的位置獲取位置更新
- 如果你想跟蹤路徑使用
GMSPath
和GMSPolyline
所以......
使用核心位置獲取位置更新:
- 你需要導入德庫
- 創建CLLocationManager的實例,它是管理更新類
- 實施
CLLocationManagerDelegate
方法接收每個更新
你可以蘆葦蘋果的文檔here
初始化谷歌地圖查看:
- :
- 您可以按照Google's guide
你會得到一個更新您動畫地圖視圖,以新的位置每次通過代碼做到這一點這是跟蹤發生的地方,每當您在代理方法
CLLocationManagerDelegate
中獲得更新時,您都會得到一個CLLocation
,你可以使用它來將你的地圖動畫到新的位置。
例(內委託方法):
...
let newLocationCoordinate = locations.last!.coordinate
self.mapView.animate(toLocation: newLocationCoordinate)
// mapView should be of type GMSMapView
如果你想跟蹤路徑使用GMSPath
和GMSPolyline
:
要做到這一點,你需要存儲的實例都在
GMSPath
和GMSPolyline
,在viewDidLoad或初始化代碼中初始化它們。每次你得到你所應該做這樣的事情的更新:
// Say your GMSPath instance is called trackingPath: trackingPath.add(locations.last!.coordinate) // Say your GMSPolyline instance is called trackingPolyline: // You clear the mapView to remove obsolete polyline mapView.clear() // You update your polyline with the path trackingPolyline.path = path // You add the polyline to the UI by pointing its map atribute to your mapView trackingPolyline.map = mapView
這是你應該做的非常粗略的整體,但我希望它給你一個什麼樣的步驟來一個想法跟隨。 Google的指南非常完整,您可以按照這些指南來更好地瞭解其圖書館的工作方式。如果您的應用在美國追蹤用戶,您也可以使用Apple的MapKit,但我不推薦Apple的MapKit用於其他地區。 GoogleMaps可以更好地支持美國以外地區的地址格式和街道準確性。
如果多個視圖訪問位置使用Singleton來優化性能,Can建議使用Singleton訪問位置是您應該做的。整個應用中只有一個實例應該管理位置更新並將其傳遞給必要的視圖。
對於這項任務,您需要將Google Maps SDK集成到您的項目中。 This RayWenderlich tutorial是iOS上Google地圖的入門。
但是,如果您不依賴Google地圖,那是您沒有特定需求,請考慮Apple Maps(MapKit)。不要不必要地將依賴關係整合到你的項目中。
您還需要CoreLocation。這是蘋果公司所有與位置相關的圖書館。由此得名。 :]
一會兒回來,I wrote一個singleton對象檢索項目範圍的用戶位置。有了它,一個實體將檢索位置信息,並且您可以在整個項目中訪問它,而無需重複。擁有多個CoreLocationManager或將其放入AppDelegate是一種不好的做法。起初,你可能沒有得到它,但後來它是要走的路。
- 1. 如何實時跟蹤谷歌地圖上的用戶?
- 2. 使用谷歌地圖在Android中跟蹤位置
- 3. Android實時谷歌地圖位置跟蹤
- 4. 谷歌地圖地圖不會跟蹤當前運動位置
- 5. Gps跟蹤谷歌地圖
- 6. jQuery的谷歌地圖用戶位置
- 7. 安卓谷歌地圖上的車輛位置跟蹤器
- 8. 使用地圖進行位置跟蹤
- 9. 用戶郵件跟蹤位置(在閱讀郵件時跟蹤用戶位置)
- 10. 谷歌地圖用戶位置
- 11. 使用我的當前位置將谷歌地圖實施到谷歌地圖
- 12. 谷歌地圖跟蹤位置和計算距離使用python django
- 13. 如何跟蹤用戶的位置?
- 14. 谷歌地圖當前位置Swift
- 15. 如何基於用戶位置居中谷歌地圖
- 16. 實時位置跟蹤
- 17. 谷歌地圖ios api使用用戶的位置fitbounds
- 18. 如何使用谷歌地圖選擇我的地理位置
- 19. 如何刪除地圖標記在谷歌地圖swift 3
- 20. 在谷歌地圖上添加新的緯度經度,如實時跟蹤
- 21. 附近的位置谷歌API沒有使用谷歌地圖
- 22. 如何加載谷歌地圖地理位置不使用kml
- 23. 用谷歌跟蹤子域
- 24. 如何中心地圖視圖,同時跟蹤用戶
- 25. 使用地理位置設置谷歌地圖中心
- 26. 谷歌地圖中的地理位置
- 27. 如何使用谷歌地圖sdk獲取CGPoint的iOS位置?
- 28. 在android中跟蹤位置
- 29. 在android上抓取谷歌地圖v2的用戶位置?
- 30. 實時跟蹤多個iPhone GPS位置
嗨基山,歡迎來到堆棧溢出!預計你至少會[在提問前嘗試做一些工作](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users )。 – NBajanca