2015-12-26 14 views
7

Tôi đang sử dụng gói mdg:geolocation và tôi đang cố gắng chạy ứng dụng trên thiết bị Android nhưng tôi không nhận được lat và lang nữa, khi tôi thử vài tháng trở lại đây đang hoạt động tốtGeolocation.latLng() không hoạt động trong android

tôi đang sử dụng 1.0.3 * phiên bản của gói

enter image description here

chrom được ném trên cảnh báo mà đưa tôi đến đây page

vì nó là một cảnh báo cần làm việc.

Tôi thậm chí đã cố gắng chạy ứng dụng bằng cách cung cấp --mobile-server=https://myapp.com vẫn không hoạt động.

bất kỳ ý tưởng nào?

phiên bản My sao băng -. 1.1 * (không phải là mới nhất một) geolocation- 1.0.3

EDIT

Tôi đã cố gắng sử dụng đối tượng navigator như dưới đây

var onSuccess = function(position) { 
    console.log('Latitude: '   + position.coords.latitude   + '\n' + 
    'Longitude: '   + position.coords.longitude   + '\n' + 
    'Altitude: '   + position.coords.altitude   + '\n' + 
    'Accuracy: '   + position.coords.accuracy   + '\n' + 
    'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '\n' + 
    'Heading: '   + position.coords.heading   + '\n' + 
    'Speed: '    + position.coords.speed    + '\n' + 
    'Timestamp: '   + position.timestamp    + '\n'); 
}; 

// onError Callback receives a PositionError object 
// 
function onError(error) { 
    console.log('code: ' + error.code + '\n' + 
    'message: ' + error.message + '\n'); 
} 

navigator.geolocation.getCurrentPosition(onSuccess, onError); 

tôi không nhận được bất kỳ nhật ký nào trong bảng điều khiển không có lỗi hoặc gọi lại thành công được gọi là

CHỈNH SỬA 2:

Điều này không hoạt động khi chạy ứng dụng của tôi trong điện thoại di động Android, Nếu tôi chạy giống nhau trên web, tôi nhận được giá trị lat và lang.

EDIT 3

tôi xây dựng apk với --server trỏ đến https://myapp.com vẫn này không hoạt động.

EDIT 4

tôi có một dự án nhiều hơn với tất cả các phiên bản mới nhất, đã thử tất cả các bước trên vẫn không làm việc (ngay cả với phiên bản build apk)

EDIT 5

Sau thử đề xuất @Adam Tôi nhận được lỗi sau

code: 3 message: Timeout expired

đã thử tùy chọn khác với timeout, enablehighaccuracymaxage chưa có hoạt động nào.

+0

Liệu tại sao không sử dụng url bên ngoài? Sau đó, bạn shoul whitelisten nó, đọc tài liệu này: http://cordova.apache.org/docs/en/dev/guide/appdev/whitelist/index.html – Joerg

+0

@ Joerg tôi có ' 'thiết lập này thông qua' meteor', tôi mạnh mẽ cảm thấy vấn đề là meteor đặt nó có nguồn gốc là 'meteor.local' thay vì' localhost', do đó, theo bản cập nhật chrome mới, nó sẽ cho phép 'https' hoặc' localhost', nhưng ở đây nó là 'meteor.local' – Sasikanth

+0

Bạn có chính sách bảo mật nội dung trong 'index.html' của mình không? –

Trả lời

2

Với trình giả lập Android, trước tiên bạn có thể phải cung cấp vị trí. Vì vậy, hãy chạy một cái gì đó như:

~/.meteor/android_bundle/android-sdk/platform-tools/adb emu geo fix <longitude value> <latitude value>

+0

Tôi đang sử dụng thiết bị thực không giả lập – Sasikanth

+1

Ah, để mã lỗi của bạn chạy, bạn sẽ phải đặt thời gian chờ cho nó. Từ những gì tôi hiểu, mặc định của nó là vô cùng. Thử: 'navigator.geolocation.getCurrentPosition (thành công, lỗi, {timeout: 5000})'. Hy vọng điều này sẽ giúp bằng cách nào đó; chúc may mắn. – Adam

+0

oh hãy để tôi thử rằng – Sasikanth

1

Bạn vẫn gặp vấn đề của mình?Tôi đã sẵn sàng để làm cho nó hoạt động bằng cách sử dụng

var geo_err = Geolocation.error(); 
if(geo_err != null) alert(geo_err.message); 
var pos = Geolocation.latLng(); 
if(pos == null) return false; 

Bạn cần phải đặt nó trong trợ giúp vì nó cần phải lặp lại nó chờ đợi phản hồi, nếu không sẽ luôn có lỗi. Tôi sử dụng một nút để thay đổi trạng thái của một phiên có thể thay đổi, sau này kích hoạt trình trợ giúp để nó có thể được gọi nhiều lần. Hy vọng trợ giúp, tôi đã thử nghiệm trong Android và chrome và hoạt động. Vấn đề duy nhất là tôi không thể làm cho người sử dụng phải xin phép, nếu gps không được kích hoạt nó mang lại cho tôi

Timeout lỗi ... Vì vậy, nhìn về phía trước.

Các vấn đề liên quan