2013-04-28 17 views
7

Tôi đang sử dụng API PhoneGap để định vị địa lý. Tôi đã đặt tùy chọn enableHighAccuracy thành "true". Mã 3, thời gian hết hạn tùy chọn giữ popping lên, nhưng chỉ trên một số thiết bị Android và nhiều hơn một lần trong khi sử dụng ứng dụng.vị trí địa lý của điện thoại, Mã 3 - hết thời gian chờ xuất hiện trên một số Thiết bị Android

Hãy giúp tôi ... Tại sao điều này lại không thành công trên một số thiết bị Android. Nếu tôi đặt độ chính xác thành sai, tôi sẽ nhận được bao nhiêu sự khác biệt khi truy lục tọa độ ...

Trả lời

2

Tôi đã gặp lỗi tương tự trên Samsung Galaxy Note II (Android 4.1.1). Vì một lý do nào đó, khi 'Sử dụng mạng không dây' trong cài đặt Vị trí đang hoạt động, nhưng nếu nó tắt thì sẽ có lỗi mã 3. Nó không xảy ra trên Nexus 7 (4.2.2).

+0

Cảm ơn, nó giải quyết vấn đề của tôi mà hoảng tôi ra ngoài. Đó là bởi vì các thiết bị không sử dụng acurracy cao tự động đôi khi và chúng ta cần phải thiết lập nó bằng tay. – klaudia

9

Quản lý để giải quyết vấn đề của tôi với mã bên dưới:

var options = {maximumAge: 0, timeout: 10000, enableHighAccuracy:true}; 
navigator.geolocation.getCurrentPosition(onSuccess, onError, options); 

Dường như samsung galaxy điện thoại không thích để cache vị trí gps.

4

Ok, ở đây làm thế nào để khắc phục vấn đề:

  1. Thêm một thời gian chờ và thiết lập enableHighAccuracy:

    navigator.geolocation.getCurrentPosition(onSuccess, onError, {timeout: 10000, enableHighAccuracy: true}); 
    

    Trong một số giả lập bạn cần phải thiết lập enableHighAccuracy false, vì vậy hãy thử rằng nếu vẫn không hoạt động.

  2. Trong Android, trình giả lập không đọc giá trị GPS, vì vậy chúng tôi cần gửi chúng qua dòng lệnh. Chúng ta cần phải bắt đầu một phiên telnet tại cảng rằng giả lập đang chạy (bạn có thể kiểm tra các cổng trong tiêu đề cửa sổ giả lập, số lượng ngay từ đầu, trong trường hợp của tôi 5554):

    telnet localhost 5554 
    

Và sau đó chạy lệnh

geo fix -122.4 37.78 

Nếu bạn đóng ứng dụng bạn cần phải gửi lại geolocation, vì vậy nếu nó không hoạt động, chỉ cần chạy lệnh geo fix ngay sau khi mở ứng dụng, trước khi sự kiện cháy thời gian chờ.

+0

Lớn hơn "thời gian chờ" và "enableHighAccuracy" đã giải quyết được sự cố của tôi. Cảm ơn! – StrongLucky

+0

Tôi gặp vấn đề tương tự. Đặt 'enableHighAccuracy' thành' false' và khởi động lại trình mô phỏng (từ Android SDK) khắc phục sự cố của tôi. –

0

Rất tiếc, đã tìm thấy cùng một sự cố ở đây. Muốn có một cách tốt hơn xung quanh nó hơn yêu cầu người dùng vui lòng thay đổi cài đặt GPS của họ. Samsung Galaxy III

(chỉ hoạt động khi "sử dụng mạng không dây để tìm vị trí" thất bại mà không cần tùy chọn này)

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