Pregunta

¿Alguien sabe si el iPhone es compatible o lo hará pronto? Especificación de la geolocalización W3C ?

Estoy buscando crear una aplicación para usuarios móviles, pero en lugar de dedicar tiempo a desarrollar aplicaciones para cada plataforma diferente (iPhone, Android, etc.), prefiero crear una aplicación web que haga uso del estándar W3C.

¿Fue útil?

Solución

Este código funcionó para mí: en el navegador web del iPhone Safari y como un bono adicional, incluso funcionó con FireFox 3.5 en mi ¡ordenador portátil! La especificación de la API de Geolocalización es parte de los estándares del Consorcio W3 Pero tenga cuidado: aún no se ha finalizado.

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

Otros consejos

Ahora puede obtener la ubicación de las API de Javascript en el navegador safari después de la versión iPhone 3.0. Hemos creado un ejemplo funcional @ http://blog.bemoko.com/2009/06/17/iphone-30-geolocation-javascript-api/

Desde iPhone OS 3.0 Safari admite la ubicación geográfica. Ver: Safari / a> En el otro lado, W3C Geo API aún se encuentra en borrador.

Actualicé el código de MyWhirledView. Funciona muy bien en mi dispositivo iOS 4.3. Google ya no requiere una clave API para acceder a su biblioteca de mapas estáticos.

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

Es posible obtener la información del GPS en JavaScript en el iPhone. El marco QuickConnectiPhone expone esto para usted, así como la información de aceleración.

Sin embargo, para obtener esta información, deberá instalar la aplicación en el dispositivo. Este marco pronto estará disponible para las aplicaciones instaladas de Android, así como para Nokia.

Puede poner su aplicación en el marco para cada uno de estos dispositivos, compilar y enviar.

QuickConnectiPhone está disponible en https://sourceforge.net/projects/quickconnect/

y si me contactas, puedo darte versiones de prelanzamiento para Android y Nokia.

Rhodes está prometiendo un "quotive-once-run-run-everywhere" solución. No los he probado yo mismo.

Esta pequeña biblioteca de javascript es multiplataforma y es compatible con todos los teléfonos inteligentes modernos, listos para usar:

  
    

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

  

Así es como lo usas:

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

Actualmente, no es posible obtener la posición GPS de un iPhone utilizando solo las API de JavaScript. Se ha hablado de que esto sería bueno, pero, por supuesto, Apple no hará comentarios sobre futuras mejoras en público.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top