geolocalização javascript no android não funciona
Estou desenvolvendo um site que depende da extração dos dados de geolocalização de um usuário móvel. Eu estou fazendo isso da maneira típica via:
function initialize() {
if(window.google && google.gears) {
var geo = google.gears.factory.create('beta.geolocation');
geo.getCurrentPosition(useLocation, errorOnLocate);
}
else if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(useLocation, errorOnLocate);
}
else {
alert("no geo found");
}
}
function errorOnLocate(message)
{
alert(message);
zoomTo(-34.397, 150.644);
}
Isso sempre falha com [object PositionError] na função errorOnLocate, mesmo que eu mude a ordem do método de geolocalização.
Este é um HTC Hero com Android 2.1, usando qualquer navegador embutido. Meu GPS está ativado e eu instruí o navegador a permitir que sites visualizem minha localização. O recurso "local" no aplicativo nativo do google map que vem ao telefone seleciona minha localização muito bem
Além disso, se eu visitar o meu site usando o FireFox 3.5 no meu computador, ele encontrará minha localização corretamente (acredito que ele usa uma combinação de pontos de dados ip e ap). De qualquer forma, ele usa o mesmo javascript.
Edição: Este é html / js em um navegador, não um aplicativo nativo. A mensagem de erro exata também é 'O último provedor de localização foi desativado'