0

Я вычисляю расстояние между фиксированным геоданным и текущим местоположением моего телефона, используя формулу гаверсина внутри события geolocator.poistionchanged. Но текущие геокоординаты телефона меняются без перемещения телефона, и расстояние сильно меняется. Как я могу исправить эту проблему или хотя бы уменьшить ее?расстояние между двумя геоинтеграциями непрерывно меняется?

+0

Как сильно меняется положение? действительно ли устройство имеет четкое представление о небе (то есть оно снаружи)? –

ответ

2

Большинство GPS-чипов в мобильных устройствах имеют точность 15 метров. Таким образом, положение, о котором он сообщает, часто перескакивает, особенно если вокруг есть высокие здания.

Если вы находитесь в помещении, GPS, скорее всего, не получит сигнал, поэтому телефон снова вернется к позиционированию WIFI, точность которого составит около 100 метров.

Если по какой-либо причине GPS и Wi-Fi не могут быть использованы, телефон затем вернется к IP-адресу, который в лучшем случае соответствует городу.

Теперь, если у вас есть хороший сигнал GPS, способ уменьшить шум - использовать movement threshold и report interval. Вот хороший блог об этих вариантах:

https://blogs.windows.com/buildingapps/2012/12/03/geoposition-advanced-tracking-scenarios-for-windows-phone-8/#uljhzpK0wllquFRi.97

1

Ваше местоположение телефона определяется из ваших GPS seonsors,

Правительство США стремится предоставить GPS для гражданского сообщества на уровне характеристик, указанных в стандарте GPS Performance Standard Positioning Service (SPS). Например, сигнал GPS в космосе обеспечит «худший случай» точность псевдодальности 7,8 м при 95% -ном уровне достоверности. (Это не то же самое, что и точность пользователя, псевдодальность - это расстояние от спутника GPS до приемника.) Reffrence

Так что, я думаю, вы должны хранить ваши данные, чтобы получать одинаковые данные, когда телефон не перемещается. Также вы можете использовать другой источник, например Wifi, для получения местоположения.

Я не разработчик WP. разработчик окон может помочь вам лучше.