Geolocation API 概览
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Geolocation API 是一项服务,可接受包含移动客户端可检测到的手机基站和 Wi-Fi 接入点的 HTTPS 请求。对于每个有效输入,它都会返回纬度/经度坐标和一个半径,用于指示结果的准确性。
为何要使用 Geolocation API
使用 Geolocation API 定位不提供原生地理定位功能的移动设备。
您可以利用 Geolocation API 执行的操作
借助 Geolocation API,您可以使用来自手机基站和 Wi-Fi 节点的地理空间数据来获取没有原生地理定位或 GPS 的设备的位置信息。
Geolocation API 的工作方式
Geolocation API 使用移动设备数据字段、手机基站数据和 Wi-Fi 接入点阵列数据来返回纬度/经度坐标和准确度半径。它接受发送到其端点的 HTTPS POST 请求以及 JSON 结构化请求正文。以下示例展示了请求网址和请求正文示例:
curl -X POST "https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d \
'{ "homeMobileCountryCode":310,
"homeMobileNetworkCode":410,
"radioType":"gsm",
"carrier":"Vodafone",
"considerIp":true
}'
API 可以返回许多常见移动网络数据字段的数据,如下所示。
资源
下表总结了地理定位端点调用的请求正文中的字段,以及此类查询提供的数据类型。
如何使用 Geolocation API
可用的客户端库
通过以下客户端库之一,以您选择的语言调用此 API:
适用于 Google 地图服务的 Java 客户端、Python 客户端、Go 客户端和 Node.js 客户端是由社区提供支持的客户端库,并且根据 Apache 2.0 许可开放源代码。您可以从 GitHub 下载这些客户端库,还可以在其中找到安装说明和示例代码。
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-31。
[null,null,["最后更新时间 (UTC):2025-08-31。"],[[["\u003cp\u003eThe Geolocation API determines the latitude and longitude of a device using cell tower and WiFi access point data, returning results with an accuracy radius.\u003c/p\u003e\n"],["\u003cp\u003eThis API is primarily for devices lacking native geolocation features; devices with such features should leverage HTML5 geolocation or the Geocoding API.\u003c/p\u003e\n"],["\u003cp\u003eBy sending an HTTPS POST request with device data to the API endpoint, developers can retrieve location information for mobile devices.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can utilize various data resources like cell device fields, cell tower data, and WiFi access point data to pinpoint device locations.\u003c/p\u003e\n"],["\u003cp\u003eClient libraries are available in Java, Python, Go, and Node.js for seamless integration with the Geolocation API.\u003c/p\u003e\n"]]],[],null,["The Geolocation API is a service that accepts an HTTPS request with the\ncell tower and Wi-Fi access points that a mobile client can detect. It returns\nlatitude/longitude coordinates and a radius indicating the accuracy of the\nresult for each valid input.\n| **Note** : To get device location information using latitude and longitude coordinates, addresses, or Place IDs, go to the [Geocoding API](/maps/documentation/geocoding/overview).\n\nWhy use the Geolocation API\n\nUse the Geolocation API to locate mobile devices that do not provide native geolocation\nfeatures.\n| For web browsers and mobile devices that ***already provide geolocation capabilities*** , use the following instead:\n|\n| - **Browsers with HTML5 geolocation** : Use the Maps Javascript API. For more information, go to [Geolocation:\n| Displaying User or Device Position on Maps](/maps/documentation/javascript/geolocation).\n| - **Mobile devices geolocation** : Go to [Geocoding API](/maps/documentation/geocoding/overview).\n|\n| For more information on the W3C Geolocation standard, see\n| [W3C Geolocation standard](https://w3c.github.io/geolocation-api/).\n\nWhat you can do with the Geolocation API\n\nWith the Geolocation API, you can use geospatial data from cell towers\nand WiFi nodes to get the location of a device that does not have native geolocation or GPS.\n\nHow the Geolocation API works\n\nThe Geolocation API uses cellular device data fields, cell tower\ndata, and WiFi access point array data to return latitude/longitude coordinates and an accuracy\nradius. It accepts an HTTPS POST request to its endpoint along with a JSON structured request\nbody. The following example shows the request URL and an example request body:\n\n```json\ncurl -X POST \"https://www.googleapis.com/geolocation/v1/geolocate?key=\u003cvar translate=\"no\"\u003eYOUR_API_KEY\u003c/var\u003e\" \\\n-H \"Content-Type: application/json\" \\\n-d \\\n'{ \"homeMobileCountryCode\":310,\n \"homeMobileNetworkCode\":410,\n \"radioType\":\"gsm\",\n \"carrier\":\"Vodafone\",\n \"considerIp\":true\n}'\n```\nThe API can return data for a number of common cellular data fields as indicated below.\n\nResources\n\nThe following table summarizes the fields in the request body of the geolocation endpoint\ncall, along with the type of data provided from such queries.\n\n| Data resources | Data returned | Return format |\n|----------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------|---------------|\n| [Cell device data fields](/maps/documentation/geolocation/requests-geolocation#body) such as carrier, device, and network information. | Latitude/longitude coordinates and an accuracy radius | JSON |\n| [Cell tower data](/maps/documentation/geolocation/requests-geolocation#cell_tower_object), such as location area code and mobile country codes. | Latitude/longitude coordinates and an accuracy radius | JSON |\n| [WiFi access points data](/maps/documentation/geolocation/requests-geolocation#wifi_access_point_object), such as MAC address and signal strength. | Latitude/longitude coordinates and an accuracy radius | JSON |\n\nHow to use the Geolocation API\n\n|---|------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 1 | **Get set up** | Start with [Set up your Google Cloud project](/maps/documentation/elevation/cloud-setup) and complete the setup instructions that follow. |\n| 2 | **Try a geolocation request** | Once you have an API key, you can start testing out the Geolocation API using cURL or Postman. See [Sample requests](/maps/documentation/geolocation/requests-geolocation#sample-requests) in the Geolocation requests and response guide for details. |\n| 3 | **Get the cellID from different radio towers** | See [Calculating cellID](/maps/documentation/geolocation/requests-geolocation#calculating_cell_id) and [Calculating newRadioCellID](/maps/documentation/geolocation/requests-geolocation#sample-requests) to get access to older and newer towers, respectively. |\n| 4 | **Understand response basics** | Explore the geolocation data responses to prepare to use elevation data for your app. See [Geolocation responses](/maps/documentation/geolocation/requests-geolocation#responses) for details. |\n\nAvailable client libraries\n\nCall this API in the language of\nyour choice through one of the following client libraries:\n\n- [Java\n Client for Google Maps Services](https://github.com/googlemaps/google-maps-services-java)\n- [Python\n Client for Google Maps Services](https://github.com/googlemaps/google-maps-services-python)\n- [Go Client\n for Google Maps Services](https://github.com/googlemaps/google-maps-services-go)\n- [Node.js\n Client for Google Maps Services](https://github.com/googlemaps/google-maps-services-js)\n\nThe Java Client, Python Client, Go Client and Node.js Client for Google Maps\nServices are community-supported client libraries, open sourced under the\n[Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0).\nDownload them from GitHub, where you can also find installation instructions and sample code.\n\nWhat's next\n\n- **Get started with sample requests and responses** : Go to [Geolocation request and response](/maps/documentation/geolocation/requests-geolocation)\n- **Follow best practices** : Go to [Web Service Best Practices](/maps/documentation/geolocation/web-service-best-practices).\n- **Understand billing** : Go to [Usage and Billing](/maps/documentation/geolocation/usage-and-billing)."]]