PhoneGap GPS местоположение плагин Cordova-плагин-Gpslocation - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь получить координаты GPS для перемещения карты Google в моем телефоне. В мой xml файл добавлен плагин, например:

<plugin name="cordova-plugin-gpslocation" spec="1" />

Когда я нажимаю кнопку, чтобы получить координаты, запускается следующий код:

 function locateMe(){
        alert("in function");

    function onSuccess(position) {
        alert(position.coords.latitude);
        alert(position.coords.longitude);

    function onError(error) {
        alert('code: '    + error.code    + '\n' +
              'message: ' + error.message + '\n');
        }
    //locateMe code
    var watchID = GPSLocation.getCurrentPosition(onSuccess, onError);


    //get gps coordinate


    //move map to location   

    }


}

Используемый мной плагин GPS : https://www.npmjs.com/package/cordova-plugin-gpslocation

Кажется, мое приложение распознает, что плагин добавлен, потому что когда я устанавливаю его на свой телефон android, он предупреждает меня о разрешениях gps.

Когда я запускаю приведенный выше код, я получаю только первое предупреждение для in fucntion, и я не уверен, что не получаю предупреждения для координат GPS.

1 Ответ

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

Попробуйте использовать официальный плагин Cordova. Посетите: https://cordova.apache.org/docs/en/latest/guide/cli/index.html

Установка: Для этого требуется cordova 5.0+ (текущая стабильная версия 1.0.0)

плагин cordova add cordova-plugin-geolocation

Старые версии Cordova все еще можно установить через устаревший идентификатор (устаревший 0.3.12)

плагин cordova add org. apache .cordova.geolocation

Возможна также прямая установка через URL репозитория (нестабильно)

плагин cordova add https://github.com/apache/cordova-plugin-geolocation.git

Чтобы узнать текущее местоположение устройства при нажатии кнопки, вы можете вызвать / вызвать приведенный ниже пример кода при нажатии кнопки

function getWeatherLocation() {
   navigator.geolocation.getCurrentPosition(onWeatherSuccess, onWeatherError,{enableHighAccuracy: true });
}

// Success callback for get geo coordinates

var onWeatherSuccess = function (position) {

    Latitude = position.coords.latitude;
    Longitude = position.coords.longitude;

    //Do something with coordinates
}

// Error callback

function onWeatherError(error) {
    console.log('code: ' + error.code + '\n' +
        'message: ' + error.message + '\n');
}
...