2016-08-04 3 views

ответ

0

Не совсем уверен, что вы просите здесь, но Ионные не может дать вам geolocations, Cordova однако может , Если вы хотите сделать это легко для себя, вы должны заглянуть в ngCordova, это угловая оболочка для плагинов cordova. Посмотрите здесь: http://ngcordova.com/docs/plugins/geolocation/

1

это пример того, как получить 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 изменятся.

2

Вы можете использовать вызов API-интерфейса URL, который возвращает объект JSON, а затем получить широту и долготу. Следующий пример вызывает http://freegeoip.net/json/ и распечатывает результаты. Чтобы получить доступ к широте и долготе, вы должны использовать поля result.latitude и result.longitude.

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
<script> 
 
$(document).ready(function(){ 
 
    $("button").click(function(){ 
 
     $.getJSON("http://freegeoip.net/json/", function(result){ 
 
      $.each(result, function(i, field){ 
 
       $("div").append(field + " "); 
 
      }); 
 
     }); 
 
    }); 
 
}); 
 
</script> 
 
</head> 
 
<body> 
 

 
<button>Get JSON data</button> 
 

 
<div></div> 
 

 
</body> 
 
</html>

 Смежные вопросы

  • Нет связанных вопросов^_^