2009-06-29 8 views
17

¿Hay una manera fácil de diseñar un sitio web para facilitar un iphone usuario proporcionando gps coordenadas para el sitio?¿Pueden las aplicaciones web para iPhone obtener la posición de GPS?

Me pregunto si podría haber una convención de nomenclatura para campos de formulario, por ejemplo, para permitir que el usuario ingrese de manera automatizada.

Estoy considerando crear un sitio web basado en la ubicación y me gustaría adaptarlo para iphone (y otros usuarios móviles). Me doy cuenta de que una aplicación de iPhone podría hacer esto, pero no estoy equipado para crear uno.

+0

Debe agregar mobile-safari como una etiqueta – Maciek

+0

Agregue esta etiqueta. –

+0

¿Añadió la etiqueta mobile-safari work? y cuál es la sintaxis exacta para la etiqueta? – Zubair

Respuesta

16

Aquí hay un fragmento sobre cómo leer la ubicación desde el iPhone. Parece que requiere 3.0:

navigator.geolocation.getCurrentPosition(foundLocation, noLocation); 

function foundLocation(position) 
{ 
    var lat = position.coords.latitude; 
    var long = position.coords.longitude; 
    alert('Found location: ' + lat + ', ' + long); 
} 
function noLocation() 
{ 
    alert('Could not find location'); 
} 

Ver: http://mapscripting.com/how-to-use-geolocation-in-mobile-safari

Por cierto, si usted quiere usar el código web en el iPhone, hay un par de soluciones en tierra media que podría intentar que no lo hacen obligarlo a crear una aplicación nativa, pero le permite envolver su sitio en una aplicación y obtener acceso al GPS y a otras funciones nativas.

+1

Solo como pista: flickr.com ya está haciendo esto con su versión móvil. Puede ver imágenes tomadas cerca de su ubicación actual. – housemaister

+1

Muy bien, gracias por esa referencia. – Maciek

+0

Además, Firefox implementó esta misma interfaz en la versión 3.5. Así que, básicamente, puedes usar ese mismo código en Firefox (si eso te importa). –

1

He Don esto sin ningún tipo de programación. Usted puede:

  1. Descargue la aplicación para iPhone "Basic GPS" de la tienda de iPhone.
  2. Inicie una cuenta en Twitter.com (si todavía no tiene una).
  3. Inicie una cuenta de correo electrónico a twitter en Twittermail.com.
  4. En la configuración básica de GPS, use su dirección de correo electrónico secreta de Twittermail.
  5. En Twitter.com/widgets, haga clic en "Otro" para obtener su código HTML para publicar sus Tweets en otro lugar.
  6. Ponga este código HTML en su página de inicio.
  7. En GPS básico, simplemente haga clic en el botón azul "I" (encendido), "Correo electrónico" y "Enviar" para enviar su posición a Twittermail, que lo publicará en Twitter. Y Twitter lo publicará automáticamente en su página de inicio.

Consulte un axomple de trabajo en http://CharlieBloom.com. Solo están visibles los 3 últimos Tweets (personalizables), haga clic en "Sígueme en Twitter" para ver "Mi posición ....." y un enlace de Google Maps. Las posiciones se actualizan en mi sitio web 2-3 minutos después de que las envíe.

Saludos, Charlie Bloom

+0

intenté el enlace pero no funciona – Zubair

4

puedes ver los SendLocation aplicación en virtud de la navegación por Jouni Erola.

Es una aplicación sencilla que enviará el lat & lon del iPhone a SU servidor. Simplemente ingrese la URL de su servidor para recibir la ubicación como HTTP-GET methid

1

Sí, pero la precisión es bastante mala. Acabo de crear un formulario web que publica la configuración de GPS de la función watchPosition() en mi base de datos y luego ordena los resultados.Mientras remaba por un río local, solo obtuvo dos de las siete publicaciones correctas. El resto estaba fuera del río, ¡y dos de ellos estaban a una milla de distancia! Ahora estoy buscando una mejor solución.

Aquí está el código que utilizo para actualizar los campos del formulario:

<script type="text/javascript"> 
function getGPSLocation() 
{ 
    if(navigator.geolocation) 
    { 
    navigator.geolocation.watchPosition(onGeoSuccess); 
    } else { 
    alert("Your browser or device doesn't support Geolocation"); 
    } 
} 

function onGeoSuccess(position) { 
    document.getElementById("Latitude").value = position.coords.latitude; 
    document.getElementById("Longitude").value = position.coords.longitude; 
} 
</script> 

Y esta es la forma. Actualice para satisfacer sus necesidades.

<form> 
<img src="spacer.gif" OnLoad="getGPSLocation();"> 
<input type="Text" name="Latitude" id="Latitude" value=""> 
<input type="Text" name="Longitude" id="Longitude" value=""> 
</form> 
+0

¿Crees que fue posiblemente una mala recepción? – Alex

Cuestiones relacionadas