Google Places Autocomplete - 如何获取纬度和经度?
Posted
技术标签:
【中文标题】Google Places Autocomplete - 如何获取纬度和经度?【英文标题】:Google Places Autocomplete - how to get Latitude and Longitude? 【发布时间】:2015-02-26 15:26:31 【问题描述】:我使用网址:
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=bar&key=API_KEY&types=geocode
我应该如何检索带有地点位置(纬度和经度)的数据?
【问题讨论】:
您必须在 googlemaps 开发者处生成 API_KEY。然后在您的网址中传递 API_KEY 。您必须使用 (developers.google.com/maps/signup) 注册并创建密钥 我知道,我通过了。有用。我从 Google 收到地点,但没有关于位置的信息。 【参考方案1】:仅此 URL 是不可能的:
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
。
【讨论】:
感谢您的回答伙伴:) 我收到的结果 [0] 是 lat: function () & lng function () ,我没有得到值。 想通了,函数返回值:)【参考方案2】: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)")
)
【讨论】:
它抛出一个内部错误..你还有其他方法吗? 它给了我这个错误 error": "code": 429, "message": "Resource has been exhausted (eg check quota).", "errors": [ "message": "资源已用尽(例如检查配额)。", "domain": "global", "reason": "rateLimitExceeded",【参考方案3】:这实际上称为“Google 地方信息自动完成”而不是“地图自动完成”。您从那里获取地点 id,您需要调用 Google 地点 api 来检索详细信息,包括位置等。
https://developers.google.com/places/documentation/details
或者您可以根据需要使用 Place Search api。
https://developers.google.com/places/documentation/search
【讨论】:
以上是关于Google Places Autocomplete - 如何获取纬度和经度?的主要内容,如果未能解决你的问题,请参考以下文章
google.maps.places.Autocomplete 语言输出
反应:Google Places API/ Places 详细信息
如何从 google.maps.places.Autocomplete 获得超过 5 个结果?
使用 GooglePlacesAutocompleteWidget 时强制 flutter_google_places 仅显示城市
Android Google Places API,getAutocompletePredictions 返回状态“PLACES_API_ACCESS_NOT_CONFIGURED”