📅  最后修改于: 2023-12-03 14:49:17.581000             🧑  作者: Mango
Google Places API 是一个提供有关特定位置信息的 Web 服务。使用该服务,可以获取有关地点(包括商家、建筑物和路线等)的详细信息,例如地址、电话号码、评价和经纬度等。在使用 Google Maps API 构建地图应用程序时,获取位置经纬度信息是很常见的需求,本文将介绍如何使用 Google Places API 获取 latlng。
要使用 Google Places API,必须拥有 GCP 项目,而且该项目必须启用 Places API。以下是如何满足这些要求的步骤:
点击右上角的“选择项目”下拉菜单,然后单击“新建项目”。
输入项目名称并选择您的首选计费帐号,然后单击“创建”。
在新创建的项目页面上,点击“导航菜单”(位于左上角),然后单击“API 和服务”>“控制台仪表板”。
在控制台仪表板上,单击“启用 API 和服务”,然后在搜索框中输入“Places API”,然后选择“Google Places API Web Service”。
单击“启用”以启用该 API。
在控制台仪表板上,单击“凭证”,然后单击“创建凭证”>“API 密钥”。
如果您使用的是 Google Maps JavaScript API,请选择“HTTP引用”作为使用此密钥的应用程序,否则您可以选择适当的选项。
要使用 Places API 获取位置经纬度,需要发送 HTTP 请求。以下是如何获取 latlng 的方法:
构建请求 URL:https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input={输入的地址或名称}&inputtype=textquery&fields=formatted_address,geometry&key={您在步骤一中创建的 API 密钥}
在请求 URL 中,建议添加 &language=zh-CN
参数以获得中文语言信息。
发送 HTTP 请求,使用您喜欢的 HTTP 请求库。以下是使用 requests 发送 HTTP 请求的示例代码:
import requests
input_str = "北京国家体育场"
api_key = "{您在步骤一中创建的 API 密钥}"
url = f"https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input={input_str}&inputtype=textquery&fields=formatted_address,geometry&key={api_key}&language=zh-CN"
response = requests.get(url)
if response.status_code == 200:
json_data = response.json()
result = json_data.get("candidates")[0]
lat, lng = result.get("geometry").get("location").values()
print(lat, lng)
else:
print("请求失败")
本文介绍了如何使用 Google Places API 获取位置经纬度。首先需要创建 GCP 项目并启用 Places API,然后使用 HTTP 请求获取位置信息。此外,还提供了使用 Python requests 库发送 HTTP 请求的示例代码。