Борьба с плагином Nativescript Geolocation - PullRequest
0 голосов
/ 15 мая 2019

При использовании плагина геолокации 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 и телефонных сигналов настолько дико неточны, когда я стою рядом с мачтой мобильного телефона в центре поля ??

Любая помощь будет высоко ценится!

...