2016-05-15 91 views
1

所以我試圖獲得它,所以我打開應用程序,它開始在用戶的位置。問題是我在輸出框中顯示「用戶位置未知」。我已經啓用了位置,如下面的代碼所示,所以我想知道是否有其他可能導致此問題。幫助,將不勝感激。如何使用Google Maps SDK for Swift找到用戶的位置?

import UIKit 
import GoogleMaps 

class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

     let camera = GMSCameraPosition.cameraWithLatitude(-33.86, 
                  longitude: 151.20, zoom: 6) 
     let mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera) 
     mapView.accessibilityElementsHidden = false 
     mapView.myLocationEnabled = true 
     self.view = mapView 

     if let mylocation = mapView.myLocation { 
      print("User's location: \(mylocation)") 
     } else { 
      print("User's location is unknown") 
     } 
     let marker = GMSMarker() 
     marker.position = CLLocationCoordinate2DMake(-33.86, 151.20) 
     marker.title = "Sydney" 
     marker.snippet = "Australia" 
     marker.map = mapView 

    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


} 
+0

簡短的回答 - 你不能直接。 http://stackoverflow.com/questions/20967496/google-maps-ios-sdk-getting-current-location-of-user您需要直接查詢位置管理器。 –

+0

謝謝你這個作品 –

回答

0

您是否嘗試過使用CLLocationManager()

請嘗試下面的教程,這應該告訴你如何獲取用戶的位置。這將帶你通過請求允許用戶查看他們的位置,下至反向地理編碼的位置,以顯示他們的地址,使用GMSGeocoder()

[https://www.raywenderlich.com/109888/google-maps-ios-sdk-tutorial][1]

[1]:雷Wenderlich

希望幫助

0

我嘗試這樣做這樣:

  1. 設置自定義字符串爲authoriz (或任何您需要的)在「隱私 - 使用時的位置使用說明」(或簡單地NSLocationWhenInUseUsageDescription)我的Info.plist屬性文件。然後這會要求您授權查找您的位置。

  2. 設定正確的分配(GMSMapViewDelegate)在您的看法:比如

    類MapView類:UIViewController中,GMSMapViewDelegate {...}

  3. 最後委託設爲您的GMSMapView實例。在我的情況的MapView:

let mapView = GMSMapView.map(withFrame: frameMapViewContainer, camera: camera) mapView.delegate = self

相關問題