我使用了谷歌自动完成API。借助此功能,我可以在搜索中找到地点。获取地址后,我想要获取城市、国家、邮政编码、街道、经度、纬度。我使用下面的代码获取地址。
let placesClient = GMSPlacesClient()
print("text is \(textFieldAddress.text!)")
placesClient.autocompleteQuery(textFieldAddress.text!, bounds: nil, filter:
filter){ results, error in
self.arr_addressSearch.removeAll()
if results == nil
{
return
}
for result in results!
{
print("resut is \(result.attributedFullText.string)")
print("address count is \(self.arr_addressSearch.count)")
self.arr_addressSearch.append(result.attributedFullText.string)
}
最佳答案
您可以从代码中获取 placeId,例如
result.placeID
然后使用下面的代码获取该地点的详细信息,您将收到 GMSPlace 对象。从中您将找到包含纬度和经度的坐标属性。
从上面的结果响应中,您将获得所选地点的 place_id,然后您可以使用 place_id 获取该地点的所有详细信息,如下所示。
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"
placesClient!.lookUpPlaceID(placeID, callback: { (place: GMSPlace?, error: NSError?) -> Void in if let error = error {
print("lookup place id query error: \(error.localizedDescription)")
return }
if let place = place {
print("Place name \(place.name)")
print("Place address \(place.formattedAddress)")
print("Place placeID \(place.placeID)")
print("Place attributions \(place.attributions)") } else {
print("No place details for \(placeID)")
}
})
更多详情可以前往Here .
关于ios - 通过完整地址后如何获取长,纬度,城市,邮政编码国家?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40718893/