Возможно немного не в тему, но клуба Локатора на я.ру нет.
На API Яндекс.Карт и Яндекс.Локатора пишу научную работу, и при навигации только по GSM в метро вылетают баги в определении местоположения.
Карта с "безобразием": http://akirichweb.narod.ru/map.html
Идентификаторы базовых станций по всей линии проверялись неоднократно.
Запрашиваем местоположения, как и указано в документации:
Запрос
POST /geolocation HTTP/1.1
{
Host: api.lbs.yandex.net
Accept-Encoding: identity
Content-length: 742
Content-type: application/x-www-form-urlencoded
json={ "common": { "version": "1.0",
"api_key": "AAwkGkwBAAAA9muWLAMAKp9XjTBZtmOLeiBQJqHX6YEqNdUAA },AAAAAAAAAAoEP1ZsBlcVFA_Op P55MK3Ek1r8A=="
"gsm_cells": [ { "countrycode": 255, "operatorid": 03, "cellid": 3062, "lac": 57173, } ], }
Ответ:
"position": {
"latitude": 50.0508003,
"longitude": 36.2069016,
"altitude": 0.0,
"precision": 200,
"altitude_precision": 30.0,
"type": "gsm"
}
}
Хотя реальное местоположение можно подтвердить соседними точками не в метро (максимум 50 метров расстояния)
..."countrycode": 255, "operatorid": 03, "cellid": 8112, "lac": 57001,
...
{
"position": {
"latitude": 50.0232086,
"longitude": 36.3369255,
"altitude": 0.0,
"precision": 513.32074,
"altitude_precision": 30.0,
"type": "gsm"
}
}
..."countrycode": 255, "operatorid": 03, "cellid": 7451, "lac": 57001,
...
{
"position": {
"latitude": 50.025898,
"longitude": 36.3324356,
"altitude": 0.0,
"precision": 673.701538,
"altitude_precision": 30.0,
"type": "gsm"
}
}
Таких базовых станций на линии большинство. Как можно уточнить данные с них и улучшить работу локатора? GPS под землей не работает.
И можно ли передавать данные c GPS в теле запроса вместе с идентификаторами базовых станций (lac, cellid, countrycode, operatorid) на земле?