关闭。 这个问题不能重现,或者是由错别字引起的。它当前不接受答案。
想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。
5年前关闭。
改善这个问题
我输入的是纬度和经度。我需要使用reverseGeocodeLocation
swift 的功能,以便向我提供位置信息的输出。我尝试使用的代码是
println(geopoint.longitude)
println(geopoint.latitude)
var manager : CLLocationManager!
var longitude :CLLocationDegrees = geopoint.longitude
var latitude :CLLocationDegrees = geopoint.latitude
var location: CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude, longitude)
println(location)
CLGeocoder().reverseGeocodeLocation(manager.location, completionHandler: {(placemarks, error) -> Void in
println(manager.location)
if error != nil {
println("Reverse geocoder failed with error" + error.localizedDescription)
return
}
if placemarks.count > 0 {
let pm = placemarks[0] as CLPlacemark
println(pm.locality)
}
else {
println("Problem with the data received from geocoder")
}
在我得到的日志中
//-122.0312186
//37.33233141
//C.CLLocationCoordinate2D
//fatal error: unexpectedly found nil while unwrapping an Optional value
似乎该CLLocationCoordinate2DMake
函数正在失败,然后导致该reverseGeocodeLocation
函数中的致命错误。我是否在某处修改了格式?
您永远不会对地理位置进行地理编码,而是传递manager.location。
看到: CLGeocoder().reverseGeocodeLocation(manager.location, ...
我认为这是一个复制粘贴错误,这就是问题所在-代码本身看起来不错-差不多;)
var longitude :CLLocationDegrees = -122.0312186
var latitude :CLLocationDegrees = 37.33233141
var location = CLLocation(latitude: latitude, longitude: longitude) //changed!!!
println(location)
CLGeocoder().reverseGeocodeLocation(location, completionHandler: {(placemarks, error) -> Void in
println(location)
guard error == nil else {
println("Reverse geocoder failed with error" + error.localizedDescription)
return
}
guard placemarks.count > 0 else {
println("Problem with the data received from geocoder")
return
}
let pm = placemarks[0] as! CLPlacemark
println(pm.locality)
})
问题内容: 我正在尝试编写一个简单的方法,该方法已馈入并返回。查看Apple的文档,这似乎很简单。 以下是我丢到操场上的东西: 就目前而言,我的方法返回nil。我不确定我的错误在哪里,但是我可以放心,这对我来说是愚蠢的。感谢您的阅读。 问题答案: 或者简单地: 或扩展CLLocation: 要将地标格式化为邮寄地址,可以使用“联系人”框架: 地标 包含CLPlacemark对象的数组。对于大多数地
例如,我访问了APIhttps://nominatim.openstreetmap.org/reverse?format=json&lat=24.9128455&lon=67.002839&zoom=18&addressdetails=1 没有显示address29字段,但当我点击此url时 http://nominatim.openstreetmap.org/reverse?format=jso
问题内容: 我正在开发其中要求之一是能够基于GPS数据执行实时反向地理编码操作的应用程序。特别是,我必须能够确定纬度,经度对映射到的州/省,并检测何时从一个州/省迁移到另一个州/省。 到目前为止,我有两个想法,但想知道是否有人对以下两个方面有任何想法: 有效解决此问题的最佳方法是什么? 在哪里可以找到一个好地方,北美州/省边界的合适格式是什么 首先,这是我的两个主要想法: 将北美分成一个网格,网格
本文向大家介绍ios百度地图的使用(普通定位、反地理编码),包括了ios百度地图的使用(普通定位、反地理编码)的使用技巧和注意事项,需要的朋友参考一下 iOS定位 - 普通定位(没有地图) - 反地理编码(得到具体位置),下面通过代码给大家详解,代码如下: ios百度地图的使用(普通定位、反地理编码) 1.首先接受基本的地图功能 新建一个地图类,xib拖也行,我这边是代码实现的。 这样基本的地
我试图在HMS(Huawei Mobile Services)设备上使用对lat/long坐标进行地理编码,但结果总是得到一个空列表。 为了验证这实际上应该起作用,我检查了,它返回。 如何在HMS设备上使用对lat/long进行地理编码?哪些配置/设置是必要的,以避免达到这个限制? 我已经看到了使用位置/站点工具包的解决方案,但如果可能的话,我更喜欢使用“普通”的Android API。
问题内容: 有没有办法在Swift中处理反向范围? 例如: 是一个无限循环。 在较新版本的Swift中,该代码可以编译,但在运行时会出现错误: 致命错误:无法使用upperBound <lowerBound形成Range 我知道我可以代替使用计算和用作索引。我只是想知道是否还有更清晰的地方? 问题答案: 更新以获取最新的Swift 3(仍可在Swift 4中使用) 您可以在范围上使用该方法 或方法