Domanda

Qualcuno sa se l'iPhone supporta o supporterà presto le Specifiche di geolocalizzazione W3C ?

Sto cercando di creare un'app per utenti mobili, ma piuttosto che dedicare tempo a sviluppare app per ogni piattaforma diversa (iPhone, Android, ecc ...), preferirei creare un'app Web che renda utilizzo dello standard W3C.

È stato utile?

Soluzione

Questo codice ha funzionato per me: sul browser dell'iPhone Safari e come bonus aggiuntivo ha persino funzionato con FireFox 3.5 sul mio il computer portatile! Le specifiche dell'API di geolocalizzazione fanno parte degli standard del Consorzio W3 Ma attenzione: non è stato ancora finalizzato.

 alt text
(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>

Altri suggerimenti

Ora puoi ottenere la posizione dalle API Javascript nel browser Safari dopo la versione di iPhone 3.0: abbiamo creato un esempio funzionante @ http://blog.bemoko.com/2009/06/17/iphone-30-geolocation-javascript-api/

Poiché iPhone OS 3.0 Safari supporta il rilevamento della posizione geografica. Vedi: Safari Reference Library: Get Geographic Locations Dall'altro lato, le specifiche dell'API Geo W3C sono ancora in bozza.

Ho aggiornato il codice di MyWhirledView. Funziona benissimo sul mio dispositivo iOS 4.3. Google non richiede più una chiave API per accedere alla propria libreria di mappe statiche.

<?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>

Questo divario è il motivo per cui ho sviluppato l'applicazione Locatable - è essenzialmente un plug-in per iPhone Safari. Attualmente è disponibile solo per telefoni con jailbreak.

Vedi http://lbs.tralfamadore.com/

È possibile ottenere le informazioni GPS in JavaScript su iPhone. Il framework QuickConnectiPhone espone questo per te e le informazioni di accelerazione.

Per ottenere queste informazioni dovrai comunque installare l'applicazione sul dispositivo. Questo framework sarà presto disponibile per le applicazioni installate su Android e per Nokia.

È possibile inserire l'applicazione nel framework per ciascuno di questi dispositivi, compilare e spedire.

QuickConnectiPhone è disponibile all'indirizzo https://sourceforge.net/projects/quickconnect/

e se mi contatti posso fornirti versioni pre-release per Android e Nokia.

Rhodes è promettente un "sviluppo-una-corsa-ovunque" " soluzione. Non li ho provati io.

Questa piccola libreria javascript è multipiattaforma e supporta tutti gli smartphone moderni pronti all'uso:

  
    

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

  

Ecco come lo usi:

//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");
}

Attualmente, non è possibile ottenere la posizione GPS di un iPhone usando solo API JavaScript. Si è parlato che sarebbe bello, ma ovviamente Apple non commenterà i futuri miglioramenti in pubblico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top