【问题标题】:Bad response Google Maps API谷歌地图 API 反应不佳
【发布时间】:2019-09-20 13:55:29
【问题描述】:

我正在使用 Quectel EG25-G 调制解调器在 Siemens IOT2040 设备(带有 Yocto Linux 操作系统)中访问 Internet。该调制解调器配置正确,因为我访问 Internet 没有任何问题。 Quectel EG25-G 调制解调器有一张 SIM 卡。我已经配置了 PPP 协议来访问 Internet。

现在我想知道使用 Google API 的地理位置,但我没有收到很好的响应。

这是我运行的命令: curl -d @your_filename.json -H "Content-Type: application/json" -i "https://www.googleapis.com/geolocation/v1/geolocate?key=_MY_KEY_"

在答案中我没有任何错误:

{
 "location": {
  "lat": 42.4340209,
  "lng": 2.8666571999999997
 },
 "accuracy": 2818.0
}

问题是坐标距离我所在的位置有 500 公里远,准确度说误差只有 2818 米。

我正在使用这个 your_filename.json :

{
"cellTowers": [...]
}

在 cellTowers 我有很多来自西班牙的手机信号塔。

首先,我从https://www.radiocells.org/country/es下载了包含这些信息的SQL表

然后,我在https://sqliteonline.com中进行了查询以重新组织此信息

CAST(cid AS INT) as cellId,
CAST(area AS INT) as locationAreaCode,
CAST(mcc AS INT) AS mobileCountryCode,
CAST(mnc AS INT) AS mobileNetworkCode
FROM cell_zone
WHERE area IS not -1

最后,我将 JSON 格式的查询响应粘贴到“cellTowers”:。

我不知道为什么我会收到来自 Google Maps API 的错误响应。

谢谢!

【问题讨论】:

  • 您应该发送您的设备当前可以从当前位置看到的手机信号塔 - 而不仅仅是西班牙的随机手机信号塔列表 - 这可能只会给您西班牙的质心或随机位置。
  • 来自文档:为什么我的地理位置响应中的精度半径非常大?如果您的 Geolocation 响应在准确度字段中显示非常高的值,则服务可能基于请求 IP 进行地理定位,而不是 WiFi 点或手机信号塔。如果没有蜂窝塔或接入点有效或被识别,则可能发生这种情况。要确认这是问题所在,请在您的请求中将考虑 Ip 设置为 false。如果响应为 404,则您已确认您的 wifiAccessPoints 和 cellTowers 对象无法进行地理定位。

标签: api maps coordinates google-geolocation


【解决方案1】:

我认为您可以在 Google Maps Platform 官方支持 [1] 上查看不同的支持选项。

[1]https://developers.google.com/maps/support

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多