Có thể sử dụng thiết bị GPS với máy tính để cung cấp vị trí cho trình duyệt không?


8

Tôi có hai thiết bị GPS, một từ NMEA và một từ Garmin. Tôi muốn biết liệu có thể sử dụng một trong hai để cung cấp vị trí chính xác hơn cho các trình duyệt (Chrome, Firefox) không.

Ứng dụng web tôi có hoạt động tuyệt vời trên máy tính bảng có tích hợp GPS, nhưng không phải với máy tính xách tay.


1
HĐH nào? HĐH sẽ cần hỗ trợ API cho việc này ..
tumchaaditya

Tại sao bạn muốn sử dụng thiết bị GPS với máy tính xách tay trong khi bạn có thể dễ dàng lấy vị trí của mình bằng cách sử dụng wi-fi hoặc nếu bạn có quyền truy cập internet. Điều đó khá chính xác phải không?
Thu Yein Tun

2
@TitanZack: Điều định vị địa lý wi-fi về cơ bản là một "hack" dựa trên sự hiện diện của nhiều mạng wifi chạy dài gần đó. Nó không hiệu quả trong nhiều môi trường, chẳng hạn như ở quốc gia nơi bạn là mạng wifi duy nhất hoặc nếu bạn không có chipset không dây trong PC. Và nói chung, đó chỉ là một nỗ lực để nói với sân bóng về nơi bạn ở. Không có gì về WiFi dịch trực tiếp đến vị trí; tất cả đều dựa trên dữ liệu và thống kê thử nghiệm. GPS chính xác đến từng mét bất kể bạn ở đâu, miễn là bạn ở trên bề mặt Trái đất.
allquixotic

Câu trả lời:


6

Để làm việc này trên máy tính xách tay, bạn cần có hỗ trợ "trong toàn bộ ngăn xếp" như sau:

  • Hỗ trợ trình điều khiển - Máy tính xách tay phải có trình điều khiển phần cứng có thể nhận ra thiết bị GPS và giao diện với nó, cho dù đó là qua USB hoặc một số giao thức khác. Các trình điều khiển thường được triển khai trong kernel, nhưng nếu bạn biết rằng bạn có trình điều khiển chính xác, thì việc thực hiện không quan trọng đối với bạn.
  • API không gian người dùng sử dụng trình điều khiển - Bất kể giao diện trình điều khiển là gì hoặc hoạt động như thế nào, ngăn xếp không gian người dùng phải nhận thức được sự hiện diện của thiết bị GPS phần cứng và phải biết cách truy cập phần cứng thông qua giao diện lập trình. Nếu bạn có trình điều khiển của một thiết bị GPS, thì có lẽ bạn cũng có giao diện lập trình không gian người dùng cho nó ... nhưng bạn có phần tiếp theo không?
  • Các ứng dụng sử dụng API không gian người dùng - Ứng dụng khách của bạn (có lẽ là trình duyệt web) phải biết về API trình điều khiển không gian người dùng và có thể sử dụng nó một cách hiệu quả để hỗ trợ các dịch vụ định vị.
  • Ứng dụng phải hỗ trợ giao thức vị trí tương thích với ứng dụng web đang truy vấn nó - Tiêu chuẩn W3C cho định vị địa lý điểm cuối là API định vị địa lý W3C để đó là một nơi tốt để bắt đầu. Về cơ bản, trình duyệt phải hiểu rằng khi máy chủ web yêu cầu vị trí, trình duyệt "hiểu" yêu cầu đủ rõ để biết rằng nó cần lấy dữ liệu định vị địa lý từ người dùng.
  • Ứng dụng phải tích hợp trình điều khiển vào giao thức định vị dưới dạng phụ trợ được hỗ trợ .

Vì vậy, bạn kết thúc với một công nghệ ngăn xếp như thế này:

Trình điều khiển hạt nhân <-> Trình điều khiển / thư viện không gian người dùng <-> Trình điều khiển định vị địa lý của trình duyệt web dành riêng cho thư viện hoặc khung công tác người dùng của thiết bị của bạn <-> lớp API yêu cầu định vị địa lý dựa trên HTTP, như API định vị địa lý W3C.

Ngay bây giờ tôi nghĩ rằng các phần có khả năng đã có sẵn là:

  • Các trình điều khiển kernel và thư viện không gian người dùng cho thiết bị nên được cung cấp bởi nhà sản xuất.
  • API định vị địa lý W3C được hỗ trợ trong một thời gian dài trong Chrome và Firefox.

Phần có khả năng bị thiếu là "phụ trợ định vị địa lý trình duyệt Web".

Đó là, tôi nghi ngờ rằng Firefox / Chrome thực sự có hỗ trợ tích hợp phần cứng cho các thiết bị GPS. Hiện tại chỉ có một triển khai mà tôi biết: Firefox có hỗ trợ cho các thiết bị GPSd . Vì vậy, nếu thiết bị của bạn tích hợp với phần mềm trung gian GPS và hệ điều hành của bạn là một trong những thiết bị được hỗ trợ, điều đó là có thể. Mặt khác, có thể không (mặc dù nó có thể thay đổi nếu nhà sản xuất quyết định hỗ trợ toàn bộ ngăn xếp, bao gồm cả plugin trình duyệt).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.