Ionic - Vị trí địa lý Cordova

Plugin này được sử dụng để thêm plugin định vị địa lý vào ứng dụng Ionic.

Sử dụng vị trí địa lý

Có một cách đơn giản để sử dụng plugin định vị địa lý. Chúng ta cần cài đặt plugin này từ cửa sổ nhắc lệnh.

C:\Users\Username\Desktop\MyApp>cordova plugin add cordova-plugin-geolocation

Mã bộ điều khiển sau sử dụng hai phương pháp. Cái đầu tiên làgetCurrentPositionvà nó sẽ hiển thị cho chúng ta vĩ độ và kinh độ hiện tại của thiết bị của người dùng. Cái thứ hai làwatchCurrentPosition phương thức sẽ trả về vị trí hiện tại của thiết bị khi vị trí được thay đổi.

Mã điều khiển

.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();
})

Bạn cũng có thể nhận thấy posOptionswatchOptionscác đối tượng. Chúng tôi đang sử dụngtimeout để điều chỉnh khoảng thời gian tối đa được phép trôi qua bằng mili giây và enableHighAccuracyđược đặt thành false. Nó có thể được đặt thànhtrueđể có được kết quả tốt nhất có thể, nhưng đôi khi có thể dẫn đến một số sai sót. Cũng có mộtmaximumAgetùy chọn có thể được sử dụng để hiển thị cách một vị trí cũ được chấp nhận. Nó đang sử dụng mili giây, giống như tùy chọn thời gian chờ.

Khi chúng tôi khởi động ứng dụng và mở bảng điều khiển, nó sẽ ghi lại vĩ độ và kinh độ của thiết bị. Khi vị trí của chúng tôi bị thay đổi,latlong giá trị sẽ thay đổi.