это пример того, как получить Lat, Long, используя https://github.com/apache/cordova-plugin-geolocation
.controller('MyCtrl', function($scope, $cordovaGeolocation) {
var posOptions = {timeout: 10000, enableHighAccuracy: false};
$cordovaGeolocation
.getCurrentPosition(posOptions)
.then(function (position) {
var lat = position.coords.latitude
var long = position.coords.longitude
console.log(lat + ' ' + long)
}, function(err) {
console.log(err)
});
var watchOptions = {timeout : 3000, enableHighAccuracy: false};
var watch = $cordovaGeolocation.watchPosition(watchOptions);
watch.then(
null,
function(err) {
console.log(err)
},
function(position) {
var lat = position.coords.latitude
var long = position.coords.longitude
console.log(lat + '' + long)
}
);
watch.clearWatch();
})
Вы также заметили posOptions и watchOptions объектов. Мы используем таймаут, чтобы настроить максимальный промежуток времени, который разрешен для передачи в миллисекундах, а enableHighAccuracy - false. Его можно установить в true, чтобы получить наилучшие возможные результаты, но иногда это может привести к некоторым ошибкам. Существует также опция maximumAge, которая может использоваться, чтобы показать, как старая позиция принимается. Он использует миллисекунды, так же как и параметр таймаута.
Когда мы запустим наше приложение и откройте консоль, он зарегистрирует широту и долготу устройства. Когда наша позиция будет изменена, значения lat и long изменятся.