我正在使用Google Maps API for IOS,並且想知道是否有方法可以檢索設備的當前位置,以便在地圖上儘快顯示應用加載。在啓動應用程序時從Google Maps IOS獲取當前位置
目前,當應用程序加載當前位置座標對象爲零,所以我不能在沒有應用程序崩潰的情況下將地圖相機設置到它上面。有沒有一種方法可以避免在別處設置相機,然後用戶按下我的位置按鈕以移動相機。
我正在使用Google Maps API for IOS,並且想知道是否有方法可以檢索設備的當前位置,以便在地圖上儘快顯示應用加載。在啓動應用程序時從Google Maps IOS獲取當前位置
目前,當應用程序加載當前位置座標對象爲零,所以我不能在沒有應用程序崩潰的情況下將地圖相機設置到它上面。有沒有一種方法可以避免在別處設置相機,然後用戶按下我的位置按鈕以移動相機。
要從地圖獲取位置只需使用gmsMap.myLocationEnabled = true
和谷歌地圖將爲你做的休息。要設置攝像機的位置添加鍵值觀察員關鍵myLocation通過這樣
map.addObserver(self, forKeyPath: "myLocation", options: .New, context: nil)
deinit {
//dont forget to remove observer
mapView.removeObserver(self, forKeyPath: "myLocation")
}
override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<Void>) {
if change[NSKeyValueChangeOldKey] == nil {
let location = change[NSKeyValueChangeNewKey] as CLLocation
gmsMap.camera = GMSCameraPosition.cameraWithTarget(location.coordinate, zoom: 16)
}
}
地圖我覺得這個答案將幫助您: https://stackoverflow.com/a/20994202/4195406
基本上,你必須啓用myLocation後的MapView被加載:
dispatch_async(dispatch_get_main_queue(), ^{
mapView_.myLocationEnabled = YES;
});