我正在使用Google Map SDK在Xcode中制作单个视图应用程序。我已按照在线说明操作,我的应用程序可以成功加载谷歌地图视图。我还启用了myLocation,以便myLocation按钮显示在地图视图上。我知道单击myLocation按钮会自动更改摄像头位置,但我想知道如何使用myLocation的数据(比如添加标记或添加路径节点)?
我尝试过直接访问mapView.myLocation,例如
let lat = mapView.myLocation?.coordinate.latitude
let long = mapView.myLocation?.coordinate.longitude
path.addCoordinate(CLLocationCoordinate2D(latitude: lat!, longitude: long!))
但这会使应用程序崩溃并抛出“致命错误:在展开Optional值时意外发现nil”。 这个错误信息告诉我什么?我该如何解决这个问题?
答案 0 :(得分:0)
错误表示mapView的myLocation
属性为零。您应该在访问之前检查是否有值。
if let myLocation = mapView.myLocation {
let lat = myLocation.coordinate.latitude
let long = myLocation.coordinate.longitude
path.addCoordinate(CLLocationCoordinate2D(latitude: lat, longitude: long))
}
同时验证myLocation
为零的原因。可能是用户不允许位置服务。
答案 1 :(得分:-1)
这不会出现任何错误:
let lat = mapView.myLocation?.coordinate.latitude ?? give any value of latitude
let long = mapView.myLocation?.coordinate.longitude ?? give any value of longitude