📌  相关文章
📜  从 google places api 获取 latlng (1)

📅  最后修改于: 2023-12-03 14:49:17.581000             🧑  作者: Mango

从 Google Places API 获取 latlng

Google Places API 是一个提供有关特定位置信息的 Web 服务。使用该服务,可以获取有关地点(包括商家、建筑物和路线等)的详细信息,例如地址、电话号码、评价和经纬度等。在使用 Google Maps API 构建地图应用程序时,获取位置经纬度信息是很常见的需求,本文将介绍如何使用 Google Places API 获取 latlng。

步骤一:创建 Google Cloud Platform(GCP)项目并启用 Places API

要使用 Google Places API,必须拥有 GCP 项目,而且该项目必须启用 Places API。以下是如何满足这些要求的步骤:

  1. 打开 Google Cloud Console

  2. 点击右上角的“选择项目”下拉菜单,然后单击“新建项目”。

  3. 输入项目名称并选择您的首选计费帐号,然后单击“创建”。

  4. 在新创建的项目页面上,点击“导航菜单”(位于左上角),然后单击“API 和服务”>“控制台仪表板”。

  5. 在控制台仪表板上,单击“启用 API 和服务”,然后在搜索框中输入“Places API”,然后选择“Google Places API Web Service”。

  6. 单击“启用”以启用该 API。

  7. 在控制台仪表板上,单击“凭证”,然后单击“创建凭证”>“API 密钥”。

  8. 如果您使用的是 Google Maps JavaScript API,请选择“HTTP引用”作为使用此密钥的应用程序,否则您可以选择适当的选项。

步骤二:使用 Places API 获取 latlng

要使用 Places API 获取位置经纬度,需要发送 HTTP 请求。以下是如何获取 latlng 的方法:

  1. 构建请求 URL:https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input={输入的地址或名称}&inputtype=textquery&fields=formatted_address,geometry&key={您在步骤一中创建的 API 密钥}

  2. 在请求 URL 中,建议添加 &language=zh-CN 参数以获得中文语言信息。

  3. 发送 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 请求的示例代码。