Я использую модем Quectel EG25-G для доступа к Интернету на устройстве Siemens IOT2040 (с операционной системой Yocto Linux).Этот модем настроен правильно, потому что у меня нет проблем с доступом в Интернет.Модем Quectel EG25-G получил SIM-карту от.Я настроил протокол PPP для доступа к Интернету.
И теперь я хочу узнать геолокацию, используя 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 у меня много вышек из Испании.
Сначала я скачал таблицу SQL с этой информацией из https://www.radiocells.org/country/es
Затем я сделал запрос на реорганизацию этой информации в 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 MapsAPI.
Спасибо!