2012-04-16 27 views
6

Tôi đã làm một trang web và tôi muốn đọc vị trí 'thực tế' GPS trên thiết bị di động (Android & iPhone). Khi tôi thử đặt vị trí trên trang web của mình từ Android với phương thức W3C javascript, GPS không được bật và vị trí được đặt bằng IP (Khi tôi thử bằng ứng dụng Google Maps, GPS được bật và nhấp vào thanh trạng thái). Có cách nào để đọc GPS (GPS thực) từ một trang web trên điện thoại di động không? Cảm ơn bạn trước!Tôi có thể đọc tọa độ GPS di động 'thực' từ một trang web không?

Trả lời

7

Với HTML5, bạn có thể làm điều đó. Bạn cần kiểm tra Định vị API: Dive Into HTML5W3C Geolocation API Specification

Ví dụ đơn giản nhất trông giống như:

if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition( 
     function (position) { 
      do_something(position.coords.latitude,position.coords.longitude); 
     }, 
     function (error){ 
      switch(error.code){ 
       case error.TIMEOUT: 
        // Timeout 
        break; 
       case error.POSITION_UNAVAILABLE: 
        // Position unavailable 
        break; 
       case error.PERMISSION_DENIED: 
        // Permission denied 
        break; 
       case error.UNKNOWN_ERROR: 
        // Unknown error 
        break; 
       default: break; 
      } 
     } 
    ); 
} 

Có lẽ bạn cũng thú vị trong một số trình duyệt triển khai cụ thể: Mozilla, IE, Chrome

Đã cập nhật. Vì Mozilla đã nói here, Thiết bị có GPS, có thể mất một phút hoặc lâu hơn để sửa GPS, vì vậy dữ liệu ít chính xác (vị trí IP hoặc wifi) có thể được trả về getCurrentPosition() để bắt đầu.

Vì vậy, nếu bạn cần có độ chính xác cao (như chỉ GPS), hãy sử dụng watchPosition thay vì getCurrentPosition.

+0

Cảm ơn gakhov, nhưng với phương pháp đó, điện thoại di động không sử dụng GPS thực (không nhấp vào thanh trạng thái): O – user512663

+0

Kiểm tra cập nhật của tôi cho câu trả lời – gakhov

+0

Cảm ơn bạn rất nhiều !! ;) Điều đó hoạt động :) – user512663

0

Như đã nêu trong đặc tả W3C, bạn có thể cần sử dụng đối số thứ ba của cả watchPosition và getCurrentPosition, là PositionOptions interface để đặt enableHighAccuracy thành true, khác, sử dụng giá trị mặc định sai, GPS sẽ không nhất thiết phải được bật bởi thiết bị.

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