我使用网址:
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=bar&key=API_KEY&types=geocode
如何使用地点位置(纬度和经度)检索数据?
答案 0 :(得分:20)
仅使用此网址:
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=bar&key=API_KEY
我需要做的就是从响应中获取place_id
,然后在下面的URL中使用它:
https://maps.googleapis.com/maps/api/place/details/json?input=bar&placeid=PLACE_ID&key=API_KEY
其中:
PLACE_ID - 从之前的请求中检索place_id
。
API_KEY - Google生成的密钥,用于我的应用。
autocomplete
必须替换为上述网址中的details
。
答案 1 :(得分:3)
这实际上称为" Google商家信息自动填充"不是"地图自动完成"。您从那里获得地点ID,您需要致电Google地方api以检索详细信息,包括地点等。
https://developers.google.com/places/documentation/details
或者您可以根据需要使用Place Search API。
答案 2 :(得分:3)
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=bar&key=API_KEY
然后获取place_id
并调用以下函数来获取数据
let placesClient = GMSPlacesClient.shared()
func GetPlaceDataByPlaceID(pPlaceID: String)
{
// pPlaceID = "ChIJXbmAjccVrjsRlf31U1ZGpDM"
self.placesClient.lookUpPlaceID(pPlaceID, callback: { (place, error) -> 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)")
print("\(place.coordinate.latitude)")
print("\(place.coordinate.longitude)")
} else {
print("No place details for \(pPlaceID)")
}
})
}