Pergunta

Alguém sabe se os suportes para iPhone ou apoiará logo o W3C Geolocation especificação ?

Eu estou olhando para criar um aplicativo para usuários móveis, mas em vez de gastar o tempo desenvolvimento de aplicativos para cada plataforma diferente (iPhone, Android, etc ...), eu prefiro muito mais para criar um aplicativo web que faz usar do W3C padrão.

Foi útil?

Solução

Este código funcionou para mim - no navegador web do iPhone Safari e como um bônus adicional ainda trabalhou com Firefox 3.5 no meu computador portátil! A especificação API de Geolocalização faz parte dos padrões do Consórcio W3 Mas esteja avisado:. Não foi finalizado ainda

text alt
(fonte: bemoko.com ) alt text
(fonte: bemoko.com )

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Geolocation API Demo</title>
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" name="viewport"/>
<script>
function successHandler(location) {
    var message = document.getElementById("message"), html = [];
    html.push("<img width='256' height='256' src='http://maps.google.com/maps/api/staticmap?center=", location.coords.latitude, ",", location.coords.longitude, "&markers=size:small|color:blue|", location.coords.latitude, ",", location.coords.longitude, "&zoom=14&size=256x256&sensor=false' />");
    html.push("<p>Longitude: ", location.coords.longitude, "</p>");
    html.push("<p>Latitude: ", location.coords.latitude, "</p>");
    html.push("<p>Accuracy: ", location.coords.accuracy, " meters</p>");
    message.innerHTML = html.join("");
}
function errorHandler(error) {
    alert('Attempt to get location failed: ' + error.message);
}
navigator.geolocation.getCurrentPosition(successHandler, errorHandler);
</script>
</head>
<body>
<div id="message">Location unknown</div>
</body>
</html>

Outras dicas

Agora você pode obter a localização de APIs JavaScript no navegador safari após o lançamento do iPhone 3.0 - criamos um exemplo de trabalho @ http://blog.bemoko.com/2009/06/17/iphone-30-geolocation-javascript-api/

Uma vez que o iPhone OS 3.0 O Safari suporta recebendo localização geo. Veja: Safari Biblioteca de Referência: Getting Localizações Geográficas por outro lado W3C Geo especificação API ainda está em fase de projecto.

Eu atualizei o código do MyWhirledView. Funciona muito bem em meu dispositivo iOS 4.3. Google não exige uma chave de API para acessar sua biblioteca de mapa estático.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>iPhone 4.0 geolocation demo</title>
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" name="viewport"/>
<script>
function handler(location) {
var message = document.getElementById("message");
message.innerHTML ="<img src='http://maps.google.com/maps/api/staticmap?center=" + location.coords.latitude + "," + location.coords.longitude + "&zoom=14&size=256x256&maptype=roadmap&sensor=false&markers=color:blue%7Clabel:ABC%7C" + location.coords.latitude + "," + location.coords.longitude + "' />";



message.innerHTML+="<p>Longitude: " + location.coords.longitude + "</p>";
message.innerHTML+="<p>Accuracy: " + location.coords.accuracy + "</p>";
message.innerHTML+="<p>Latitude: " + location.coords.latitude + "</p>";



}
navigator.geolocation.getCurrentPosition(handler);
</script>
</head>
<body>
<div id="message">Location unknown</div>
</body>
</html>

Esta lacuna é por isso que desenvolveu o aplicativo Locatable - é, essencialmente, um plug-in para o iPhone Safari. Atualmente ele só está disponível para telefones desbloqueados.

Consulte http://lbs.tralfamadore.com/

É possível obter as informações de GPS em JavaScript no iPhone. O quadro QuickConnectiPhone expõe isso para você, bem como informações aceleração.

Para obter essas informações você terá que instalar o aplicativo no dispositivo no entanto. Este quadro em breve estará disponível para Android instalado aplicações, bem como Nokia.

Você pode colocar a sua aplicação no âmbito de cada um destes dispositivos, compilar e navio.

QuickConnectiPhone está disponível em https://sourceforge.net/projects/quickconnect/

e se você entrar em contato comigo eu posso te dar Pre-Release versões para Android e Nokia.

Rhodes está prometendo uma solução "desenvolver-vez-gerência em todos os lugares". Não tentei-los eu mesmo.

Esta pequena biblioteca javascript é cross-platform e suporta todos os modernos smartphones fora da caixa:

http://code.google.com/p/geo-location-javascript /

Aqui está como você usá-lo:

//determine if the handset has client side geo location capabilities
if(geo_position_js.init()){
   geo_position_js.getCurrentPosition(success_callback,error_callback);
}else{
   alert("Functionality not available");
}

Atualmente, não é possível obter a posição GPS de um iPhone usando apenas APIs JavaScript. Houve rumores de que isso seria bom, mas é claro que a Apple não vai comentar sobre melhorias futuras em público.

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