Google Geolocation API всегда возвращает одно и то же местоположение независимо от указанного в cellTower - PullRequest
1 голос
/ 13 февраля 2020

Я использую 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}, что точно так же.

Если я смогу опубликовать свой c IP (через изменение местоположения конечной точки VPN), результаты действительно изменятся. Используя тот же запрос Пало-Альто, но переходя от конечного узла Техас к Чике go, мой результат изменяется на: {"location": {"lat": 37.09024, "lng": -95.712891}, "accuracy": 1488703}

Похоже, что аргумент deere = ложно игнорируется и используется только вместо предоставленной вышки сотовой связи.

Есть идеи как это исправить? Спасибо!

1 Ответ

1 голос
/ 14 февраля 2020

Я понял это. Очевидно, что если Content-Type явно не установлен на application / json, тело игнорируется и рассматривается только локальный IP-адрес.

Я хотел бы попросить, чтобы Google обновил тело ответа API, чтобы включить что-то на этот счет.

...