Google Geolocation API 总是返回相同的位置,不管 cellTower 是不是指定
Posted
技术标签:
【中文标题】Google Geolocation API 总是返回相同的位置,不管 cellTower 是不是指定【英文标题】:Google Geolocation API is always returning the same location regardless of cellTower specifiedGoogle Geolocation API 总是返回相同的位置,不管 cellTower 是否指定 【发布时间】:2020-05-29 12:18:42 【问题描述】:我正在使用 Google Geolocation API 根据可见的手机信号塔来估算位置。但是,我总是得到与结果相同的位置。
使用以下正文:
"considerIp": false,
"radioType": "lte",
"cellTowers": [
"signalStrength": -78,
"cellId": 133978007,
"mobileNetworkCode": 410,
"mobileCountryCode": 310,
"locationAreaCode": 27196
]
产生以下结果:
"location": "lat": 31.968598800000002, "lng": -99.9018131, "accuracy": 1457406
该塔/单元的实际位置约为 (32.783062, 96.795769)。事实上,指定的信号塔是直接取自 OpenCellID 的数据库 (opencellid.org)
如果我随后选择其他地方的塔(例如帕洛阿尔托)
"considerIp": false,
"radioType": "lte",
"cellTowers": [
"signalStrength": -78,
"cellId": 84785686,
"mobileNetworkCode": 480,
"mobileCountryCode": 311,
"locationAreaCode": 7943
]
响应是:
"location": "lat": 31.968598800000002, "lng": -99.9018131, "accuracy": 1457406
完全一样。
如果我的公共 IP 可以(通过更改 *** 端点位置),结果会改变。使用相同的帕洛阿尔托查询,但从德克萨斯州更改为芝加哥终端节点,我的结果更改为:
"location": "lat": 37.09024, "lng": -95.712891, "accuracy": 1488703
看来,considerIp=false 参数被忽略了,只是用来代替提供的手机信号塔。
任何想法如何解决这个问题? 谢谢!
【问题讨论】:
【参考方案1】:我想通了。显然,如果没有将 Content-Type 显式设置为 application/json,则正文将被静默忽略,仅考虑本地 IP。
我想请求 Google 更新 API 响应正文以包含相关内容。
【讨论】:
以上是关于Google Geolocation API 总是返回相同的位置,不管 cellTower 是不是指定的主要内容,如果未能解决你的问题,请参考以下文章
使用 Geolocation 和 Google Maps API [帮助]
在没有 Google API 的情况下使用浏览器 GeoLocation?
Google Geolocation API 和 Google Maps Android SDK
Google Maps Geolocation API 的替代方案
Google Maps Geolocation API 准确性
用于 wifiAccessPoints 的 Google Maps Geolocation API 返回未找到的地理位置