swift - 执行 geocodeAddressString 两次(计算两个 CLLocations 之间的距离) - Swift 4
问题描述
我正在尝试计算两个地址之间的距离。这应该不是问题,但是我在将地址转换为 CLLocations 时遇到了问题。第一次调用 geocodeAddressString 时,一切正常,但实际上它没有被第二次调用。我设置了一个断点,什么也没发生。你有什么主意吗?谢谢。
lazy var geocoder = CLGeocoder()
var plz1 = "45345"
var plz2 = "22927"
weak var Ort1: CLLocation?
weak var Ort2: CLLocation?
func calcDistance(){
let address1 = "\("Germany"), \(plz1)"
let address2 = "\("Germany"), \(plz2)"
getLocation(address: address1)
getLocation(address: address2)
//print(Ort1?.distance(from: Ort2!))
}
func getLocation(address: String) {
geocoder.geocodeAddressString(address, completionHandler: {(placemarks, error) -> Void in
if((error) != nil){
print("Error", error ?? "")
}
if (placemarks?.first) != nil {
var location: CLLocation?
location = placemarks?.first?.location
self.Ort1 = location
let coordinate = location?.coordinate
print(coordinate!.latitude)
print(coordinate!.longitude)
self.geocoder.cancelGeocode()
}
})
}
解决方案
推荐阅读
- android - Android Chromeium 最新更新打破了使用 FB 的 PWA 登录
- python-3.x - 如何在 python 上处理加权样本?
- windows - Windows App 认证工具包进程在测试 .exe 时卡住
- ruby-on-rails - 设置 ActiveStorage 磁盘服务上传路径
- python - 从 SQLALCHEMY 中的多个连接表中使用 OR 和 AND 过滤属性会产生额外的实体
- go - 丢弃字符串到 int 转换上的错误值
- javascript - 如何向 div 内的特定锚元素添加/删除类?
- php - PHP 使用 SimpleXML 对象从 XML 转换为 JSON。数组与
导致问题的标签 - java - 为什么 compareTo 不使用日期返回结果
- regex - 抓取前后字符