ios - 我可以从 Swift 中的地址获取用户的经度和纬度吗?
问题描述
正如标题所说,我试图在用户输入应用程序时从他们的地址中获取用户的位置,但是我还没有找到任何方法来做到这一点。如果有人可以帮助我,我将不胜感激。谢谢!
解决方案
这是一个可用于从地址获取位置的函数
func getLocation(from address: String, completion: @escaping (_ location: CLLocationCoordinate2D?)-> Void) {
let geocoder = CLGeocoder()
geocoder.geocodeAddressString(address) { (placemarks, error) in
guard let placemarks = placemarks,
let location = placemarks.first?.location?.coordinate else {
completion(nil)
return
}
completion(location)
}
}
所以假设我有这个地址:
let address = "1 Infinite Loop, Cupertino, CA 95014"
用法
getLocation(from: address) { location in
print("Location is", location.debugDescription)
// Location is Optional(__C.CLLocationCoordinate2D(latitude: 39.799372, longitude: -89.644458))
print(location.latitude) // result 39.799372
print(location.longitude) // result -89.644458
}
推荐阅读
- java - Dropbox API 的过时代码和教程?
- python - 真值不明确
- javascript - 如何动态渲染网格中的元素
- python - 从excel文件制作python程序
- angular - 以角度反应形式使用自定义验证器
- node.js - Sailsjs MVC 上的 SAML/ADFS SSO 使用 nodejs 抛出错误:TypeError [ERR_INVALID_CHAR]:标头内容中的无效字符 ["Location"]
- c# - 使用 C#/LINQ 注入/合并嵌套数组
- python - Python 没有正确找到列表中的值
- node.js - 如何从“pcap TCPTracker”中检索“http 标头和正文”
- android - 使用 ArrayList 在活动之间发送 Json 数据