所以我想试试这个,所以我打开应用程序,它从用户的位置开始。问题是我得到了#34;用户的位置未知"在输出框中。我已启用位置,如下面的代码所示,所以我想知道是否有其他可能导致此问题。感谢帮助。
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 :(得分:0)
您是否尝试过使用CLLocationManager()
?
尝试下面的教程,这应该向您展示如何获取用户的位置。这将引导您通过要求用户查看其位置的权限,然后使用GMSGeocoder()
[https://www.raywenderlich.com/109888/google-maps-ios-sdk-tutorial][1]
[1]:Ray Wenderlich
希望有所帮助
答案 1 :(得分:0)
我试过这样:
在“隐私 - 使用中的位置使用说明”(或简称NSLocationWhenInUseUsageDescription
)中,在使用时(或任何您需要的)为授权请求设置自定义字符串我的 Info.plist 属性文件。然后,这将要求您授权查找您的位置。
在视图中设置正确的委托(GMSMapViewDelegate
):例如
类MapView:UIViewController,GMSMapViewDelegate {...}
最后将委托设置为GMSMapView
实例。在我的情况下mapView:
let mapView = GMSMapView.map(withFrame: frameMapViewContainer, camera: camera)
mapView.delegate = self