Pergunta

Existem maneiras fáceis de substituir os comportamentos padrão do código geolocalização api e apenas difícil a sua localização actual?

Eu acho que isso seria útil para testar e por razões de privacidade (fornecendo dados falsos local)

Eu pensei que era um add on para isso, mas eu não consigo encontrar um. Única opção agora parece estar mudando o sobre:. Configuração geo.wifi.url a algum webservice alternativa, que eu considero muito complicada

Todas as idéias?

Graças

Ideal Cenário

implementos Alguém um add-on, onde um mapa do Google aparece e eu posso escolher um novo local padrão.

Foi útil?

Solução

O geo.wifi.uri não precisa ser um webservice. Você também pode configurá-lo para um uri local com file: // ...

O arquivo deve ser um arquivo JSON com conteúdo como este:

{"location": {
              "latitude": 48.777025000000002, 
              "longitude": 9.1713909999999998, 
              "accuracy": 10.0}}

Update: Para o Firefox 9 +, o formato mudou:

{
    "status": "OK",
    "accuracy": 10.0,
    "location": {"lat": 48.777, "lng": 9.171}
}

Ou você pode combiná-las para apoiar tanto:

{
    "status": "OK",
    "accuracy": 10.0,
    "location": {
        "lat": 48.777,
        "lng": 9.171,
        "latitude": 48.777,
        "longitude": 9.171,
        "accuracy": 10.0
    }
}

Update: parece que configurar manualmente essa preferência é bloqueado pelo provedor de assumir o serviço do Google. Consulte Bug 716453 Update 2: geo.wifi.uri não geo.wifi.url

Outras dicas

A maneira mais fácil é para navegar até about:config e, em seguida, na caixa de filtro de entrar geo.wifi.uri, clique duas vezes a linha única configuração que aparece, e digite o valor abaixo depois de substituir xxx e yyy com as coordenadas que você começa de um serviço como http://www.getlatlon.com/ :

data:application/json,{"location":{"latitude":xxx,"longitude":yyy,"accuracy":10}}

Este truque não necessita de quaisquer extras ou locais / arquivos hospedados. Certifique-se o valor é sem espaços e é em uma única linha!

Geolocater é um add-on experimental que permite editar o seu geolocalização.

No Chrome, você pode usar o manual Geolocation extensão do Chrome. Vai deixá-lo graficamente escolher a sua localização manual.

Hmmm, você não pode navigator.geolocation simulada diretamente - talvez você pode refatorar seu código que usa-lo para usar um outro objeto -. customGeoLocation digamos

Na produção, você pode apenas definir customGeoLocation para navigator.geolocation e em testes usar uma implementação simulada de qualquer funcionalidade que você usa.

EDIT: Acontece que você pode substituir funções em objeto navigator.geolocation mas que ainda é inútil se você estiver usando uma biblioteca de simulação (como JsMock) que precisa criar um objeto fictício. Então, você não seria capaz de substituir navigator.geolocation com um mock.

Você pode fazer o zombando de si mesmo desta forma:

var getCurrentPositionCalled = false;
navigator.geolocation.getCurrentPosition = function() { 
  getCurrentPositionCalled = true; 
};

//Your app code here
//...
assert(getCurrentPositionCalled);

Eu tenho ligado o Google Latitude para o Firefox geolocalização. Isso permite que você atualizar manualmente a sua localização no Google Latitude com um único clique do mouse, em vez de olhar para cima a sua latitude e longitude si mesmo e digitando-o em um arquivo local. Meu artigo sobre o assunto é Faça Firefox Tome Geolocation Do Google Latitude .

A solução necessária uma pequena quantidade de server-side codificação (I fornecer o código fonte no artigo), mas estou por enquanto executar esse código como um serviço ao vivo grátis que você pode usar.

Cheers, MetaEd

Eu criei uma aplicação web simples que serve como um ponto de extremidade de geolocalização você pode apontar geo.wifi.uri do navegador para. É compatível com a especificação API Google. Para usá-lo, basta digitar o seguinte, substituindo [latitude] e [longitude] com os valores desejados:

http://geolocation-mocker.phitherek.me/geolocate/[latitude]/[longitude]

e ele deve funcionar. Para verificar se o serviço está acima, vá para

http://geolocation-mocker.phitherek.me

e verificar se a página HTML exibida corretamente. Você pode encontrar o código-fonte para este aplicativo simples em

https://github.com/Phitherek/geolocation-mocker

Espero que esta ferramenta irá revelar-se útil.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top