app.controller('dashboard', function($scope){
$scope.getPosition = function(position){
$scope.acc = position.coords;
$scope.lat = position.coords.latitude;
$scope.lng = position.coords.longitude;
$scope.$apply();
};
$scope.getPositionErr = function(error){
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
};
navigator.geolocation.getCurrentPosition($scope.getPosition, $scope.getPositionErr, {maximumAge: 0, timeout: 6000, enableHighAccuracy:false});
});
Tôi đang sử dụng Angular JS và Cordova cho ứng dụng Android. Mã này hoạt động tốt trên máy tính để bàn nhưng không hoạt động trên Nexus 4 với Lollipop. mã cũng điều khiển được thực hiện sau khi deviceready theo yêu cầu từ Cordovanavigator.geolocation.getCurrentPosition luôn nhận thời gian chờ trong Android cho đến khi GPS/Vị trí đang TẮT
Tôi đã thử
- Thiết HighAccuracy false
- Loại bỏ Plugin geolocation để nó sử dụng vị trí mặc định từ Wifi
- Device reboot
- Xóa bộ nhớ cache của trình duyệt
- Bật/tắt chế độ trên máy bay
- Wifi on/off
- Dữ liệu di động on/off
Nhưng tôi không thể nhận được lat, dài và định vị luôn được thời gian chờ.
Tính năng này chỉ hoạt động khi tôi bật Vị trí/GPS từ cài đặt. Sau khi cho phép mã hoạt động như mong đợi.
sáu giây có thể không đủ dài cho thời gian ra. Hầu hết các ứng dụng largescale chạy ít nhất 30 giây cho thời gian chờ vị trí. Bạn đã thử thời gian chờ lâu hơn chưa? –
Có, tôi đã thử với 1 phút và không có thời gian. –
Bây giờ đây là một cái gì đó tương tự. Mở [Geo Location Exmaple] (http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_geolocation_error) trong trình duyệt Chrome trong Android. Ví dụ định vị đơn giản từ w3schools. Bạn sẽ không thể nhận được lat, cho đến khi bạn không bật Vị trí/GPS của mình. –