【问题标题】: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 可以(通过更改 VPN 端点位置),结果会改变。使用相同的帕洛阿尔托查询,但从德克萨斯州更改为芝加哥终端节点,我的结果更改为: {"location": {"lat": 37.09024, "lng": -95.712891}, "accuracy": 1488703}

看来,considerIp=false 参数被忽略了,只是用来代替提供的手机信号塔。

任何想法如何解决这个问题? 谢谢!

【问题讨论】:

    标签: geolocation google-geolocation


    【解决方案1】:

    我想通了。显然,如果没有将 Content-Type 显式设置为 application/json,则正文将被静默忽略,仅考虑本地 IP。

    我想请求 Google 更新 API 响应正文以包含相关内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      • 2014-07-18
      • 2014-05-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 2020-06-26
      相关资源
      最近更新 更多