簡體   English   中英

Google Maps iOS SDK:如何在用戶的位置上啟動地圖

[英]Google Maps iOS SDK: How to start map on user's location

我正在嘗試設置GMSMapView的初始中心位置。 大約有2000篇教程向您展示了如何使用任意坐標來設置它,如下所示:

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                            longitude:151.20
                                                                 zoom:6];

    mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera2];

但我不想從澳大利亞開始,而不想搬到用戶實際所在的地方。 我想從用戶身處的地方開始,就像Google Maps應用程序的工作方式一樣。

這是我想知道的:

  • 如果我設置mapView_.myLocationEnabled = YES; 我應該能夠使用mapView_.myLocation檢索設備位置
  • 但是GPS數據可能在viewDidLoad期間尚不可用,因此該值最初將為0,0或為nil或其他任何值(有些用處不大)。
  • 可以使用CLLocationManager管理設備位置,以跟蹤設備是否移動等。

但是,如何將(最終)存儲在CLLocationManager的數據傳遞給GM​​SMapView,以便從正確的位置開始?

似乎應該沒有那么困難,但是經過2個小時的搜索,我找不到答案。

到目前為止,這是我想出的...

這樣的問題類似於我的問題: 無法使用Google Map API(GMSMapView)獲取當前位置

這篇博客文章修改了以上文章中的答案,並提供了一些非常有用的解釋。

它似乎可以正常工作,但加載時仍然會有一些小故障,我認為這是因為我最初設置相機位置的方式。 如果有人知道更好的方法,請告訴我!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM