При использовании плагина геолокации nativescript в полу сельской местности результаты получаются крайне неточными, иногда на расстоянии до 500 метров. Результаты всегда помещают меня в ближайшее развитие города, а не в область, в которой я нахожусь. Этого не происходит, когда я нахожусь в полностью урбанизированной среде, где результаты всегда идеальны. Поле, в котором я хожу, является самой высокой точкой в моем районе с множеством массивов телефонных мачт, поэтому я не уверен, почему эти результаты возникают.
Для меня результаты как-то приходят из-за испорченной триангуляции сигналов телефона и отдаленных сигналов Wi-Fi. Я попытался устранить это, деактивировав мою сим-карту для использования только GPS, но затем НИЧЕГО не возвращается. Это говорит о том, что GPS не работает, и я полагаюсь на данные Wi-Fi и телефонного сигнала для определения местоположения, но, поскольку я пытаюсь разработать приложение для использования в областях с плохим сигналом телефона, важно только GPS-позиционирование (и около 20 точность метров в большинстве случаев - вполне приемлемо для моих целей).
function buttonGetLocationTap(args) {
var location = geolocation.getCurrentLocation({
desiredAccuracy: accuracy.any,
updateDistance: 0,
maximumAge: 5000,
timeout: 5000
// desiredAccuracy: 1
// , updateDistance: 10
// , minimumUpdateTime: 600000
// , maximumAge: 600000
// , timeout: 5000
}).
then(function(loc) {
if (loc) {
var match = 'n';
var z = '';
for (var i = 0; i < x.markers.length; i++) {
var names = x.markers[i].name;
var items = x.markers[i].coordinates;
var targetLatitude = (items.latitude);
var targetLongitude = (items.longitude);
var currentLatitude = (loc.latitude.toFixed(4));
var currentLongitude = (loc.longitude.toFixed(4));
var targetLatitudelow=targetLatitude -0.0005;
var targetLatitudehigh=targetLatitude +0.0005;
var targetLongitudelow=targetLongitude -0.0005;
var targetLongitudehigh=targetLongitude +0.0005;
if (currentLatitude >= targetLatitudelow && currentLatitude <= targetLatitudehigh) {
if (currentLongitude >= targetLongitudelow && currentLongitude <= targetLongitudehigh) {
match = 'y';
z = JSON.stringify(names);
console.log(z);
page.bindingContext = {
username: z
}
}
}
else
{
match = 'n';
z = currentLatitude + currentLongitude;
console.log(z);
page.bindingContext = {
username: z
}
}
;
if (match =='y') { break; }
}
}
Я бы ожидал того же результата в полусельской местности, что и урбанизированный, у меня явно две проблемы:
1.Почему не работает только GPS
2. Несмотря на то, что GPS не работает - почему результаты сигналов Wi-Fi и телефонных сигналов настолько дико неточны, когда я стою рядом с мачтой мобильного телефона в центре поля ??
Любая помощь будет высоко ценится!