É possível usar um dispositivo GPS com um computador para fornecer localização aos navegadores?

8

Eu tenho dois dispositivos GPS, um da NMEA e um da Garmin. Gostaria de saber se é possível usar qualquer um deles para fornecer uma localização mais precisa para os navegadores (Chrome, Firefox).

O aplicativo da web que eu tenho funciona muito bem em tablets com GPS integrado, mas não em laptops.

user68740
fonte
11
qual sistema operacional? o SO terá de APIs de suporte para isso ..
tumchaaditya
Por que você deseja usar o dispositivo GPS com o laptop enquanto pode obter facilmente sua localização usando wi-fi ou se você tem acesso à Internet. Isso é bastante preciso, não é?
Thu Yein Tun 27/07/12
2
@TitanZack: A coisa de geolocalização wi-fi é basicamente um "hack" que depende da presença de muitas redes wifi próximas e de longa duração. É ineficaz em muitos ambientes, como no país em que você é a única rede Wi-Fi ou se não possui um chipset sem fio no seu PC. E, em geral, é apenas uma tentativa de dizer onde está você. Nada sobre o WiFi se traduz diretamente no local; é tudo baseado em dados experimentais e estatísticas. O GPS é preciso até o medidor, independentemente de onde você esteja, desde que esteja na superfície da Terra.
allquixotic

Respostas:

6

Para que isso funcione em um laptop, você precisa ter suporte "em toda a pilha" da seguinte maneira:

  • Suporte ao driver - O laptop deve ter drivers de hardware que possam reconhecer o dispositivo GPS e fazer interface com ele, seja por USB ou outro protocolo. Os drivers geralmente são implementados no kernel, mas se você sabe que possui drivers corretos, a implementação não é importante para você.
  • APIs do espaço do usuário que usam os drivers - independentemente da interface do driver ou de como ela funciona, a pilha do espaço do usuário deve estar ciente da presença do dispositivo GPS do hardware e deve saber como acessar o hardware por meio de uma interface de programação. Se você possui drivers de um dispositivo GPS, provavelmente também possui uma interface de programação para o espaço do usuário ... mas você tem a próxima parte?
  • Aplicativos que usam as APIs do espaço do usuário - Seu aplicativo cliente (presumivelmente um navegador da Web) deve estar ciente da API do driver do espaço do usuário e ser capaz de usá-la com proveito para oferecer suporte a serviços de localização.
  • O aplicativo deve oferecer suporte a um protocolo de localização compatível com o aplicativo da Web que o está consultando - O padrão W3C para geolocalização de pontos de extremidade é a API de localização geográfica do W3C, por isso é um bom ponto de partida. O navegador deve entender basicamente que, quando o servidor da Web solicita a localização, o navegador "entende" a solicitação suficientemente bem para saber que precisa obter dados de geolocalização do usuário.
  • O aplicativo deve integrar o driver ao protocolo de localização como um back-end suportado .

Então você acaba com uma pilha de tecnologia mais ou menos assim:

Drivers do kernel <--> Drivers / bibliotecas do espaço do usuário <--> Back-end de geolocalização do navegador da Web específico para as bibliotecas ou estrutura do país de usuário do seu dispositivo <--> Camada de protocolo do navegador da Web que entende uma API de solicitação de localização geográfica baseada em HTTP, como a API de Geolocalização do W3C.

No momento, acho que as peças que provavelmente já estarão disponíveis são:

  • Os drivers do kernel e as bibliotecas do espaço do usuário para o dispositivo devem ser fornecidos pelo fabricante.
  • a API de localização geográfica do W3C é suportada por um longo tempo no Chrome e Firefox.

A parte que provavelmente está faltando é o "back-end de geolocalização do navegador da Web".

Ou seja, duvido que o Firefox / Chrome realmente tenha suporte à integração de hardware para dispositivos GPS. No momento, estou consciente de apenas uma implementação: o Firefox tem suporte para dispositivos GPSd . Portanto, se seu dispositivo se integrar ao middleware GPSd e seu sistema operacional for um dos suportados, é possível. Caso contrário, provavelmente não (embora possa variar se o fabricante decidir suportar toda a pilha, incluindo um plug-in do navegador).

allquixotic
fonte