Question

Est-ce que quelqu'un sait si l'iPhone prend en charge ou supportera bientôt la spécification de géolocalisation W3C ?

Je souhaite créer une application pour les utilisateurs mobiles, mais plutôt que de passer du temps à développer des applications pour chaque plate-forme différente (iPhone, Android, etc.), je préférerais de loin créer une application Web qui utilisation de la norme W3C.

Était-ce utile?

La solution

Ce code a fonctionné pour moi. Sur le navigateur Web de l'iPhone Safari et , il a même fonctionné avec FireFox 3.5 sur mon ordinateur. portable! La spécification API de géolocalisation fait partie des normes du consortium W3 Mais sachez qu'elle n'est pas encore finalisée.

 alt text
(source: bemoko.com )  alt text
(source: 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>

Autres conseils

Vous pouvez désormais obtenir l'emplacement des API Javascript dans le navigateur Safari après la version iPhone 3.0 - nous avons créé un exemple de travail @ http://blog.bemoko.com/2009/06/17/iphone-30-geolocation-javascript-api/

J'ai mis à jour le code de MyWhirledView. Fonctionne très bien sur mon appareil iOS 4.3. Google n'a plus besoin d'une clé API pour accéder à sa bibliothèque de cartes statiques.

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

Il est possible d’obtenir les informations GPS en JavaScript sur l’iPhone. Le cadre QuickConnectiPhone expose cela pour vous, ainsi que des informations sur l'accélération.

Pour obtenir ces informations, vous devrez toutefois installer l'application sur le périphérique. Ce cadre sera bientôt disponible pour les applications installées sur Android ainsi que Nokia.

Vous pouvez intégrer votre application dans le cadre de chacun de ces périphériques, la compiler et l'expédier.

QuickConnectiPhone est disponible à l'adresse https://sourceforge.net/projects/quickconnect/

et si vous me contactez, je peux vous fournir des versions préliminaires pour Android et Nokia.

Rhodes promet un "développement unique en son genre". Solution. Je ne les ai pas essayées moi-même.

Cette petite bibliothèque javascript est multiplate-forme et prend en charge tous les smartphones modernes prêts à l'emploi:

  
    

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

  

Voici comment vous l'utilisez:

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

Actuellement, il n'est pas possible d'obtenir la position GPS d'un iPhone en utilisant uniquement des API JavaScript. Il a été dit que ce serait bien, mais Apple ne fera évidemment aucun commentaire sur les améliorations futures en public.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top