2010-04-05 15 views
131

Estoy desarrollando un sitio web basado en dispositivos móviles, allí he integrado Google Maps, tengo que rellenar el campo 'De' de Google Maps dinámicamente.Obtener la ubicación de GPS desde el navegador web

¿Es posible obtener la ubicación del GPS desde el navegador web y llenarlo en el campo 'De' de un Google Map de forma dinámica?

+2

Lo que los móviles no tiene la intención de apoyar? –

+0

quiero admitir todos los navegadores móviles, pero i-phone es la prioridad más alta – Ganesh

+0

Es mejor escribir una aplicación nativa, ya que permitirá una mayor integración con el hardware, donde está disponible –

Respuesta

3

Está el GeoLocation API, pero el soporte del navegador es bastante delgado en este momento. La mayoría de los sitios que se preocupan por tales cosas usan una base de datos GeoIP (con las condiciones habituales sobre la inexactitud de dicho sistema). También puede consultar los servicios de terceros que requieren la cooperación del usuario, como FireEagle.

+1

muchas gracias por su respuesta rápida. si es posible, ¿me puede dar algunos consejos más ... – Ganesh

155

Si usa el Geolocation API, sería tan simple como usar el siguiente código.

navigator.geolocation.getCurrentPosition(function(location) { 
    console.log(location.coords.latitude); 
    console.log(location.coords.longitude); 
    console.log(location.coords.accuracy); 
}); 

También puede utilizar Google's Client Location API.

Este problema ha sido discutido en Is it possible to detect a mobile browser's GPS location? y Get position data from mobile browser. Puede encontrar más información allí.

+0

¿Todavía se menciona la API de ubicación del cliente de Google? El enlace proporcionado va a Google Loader –

+1

No lo veo en esa página como una de las API disponibles. - Puede utilizar la API de Google Latitude: http://code.google.com/apis/latitude/ - Con esto, es posible obtener la ubicación actual del cliente: http://code.google.com/apis/latitude/v1/using_rest.html # RetrievingCurrent – dochoffiday

+1

w3c link: http://dev.w3.org/geo/api/spec-source.html – surfealokesea

44

Véase la discusión How to get GPS coordinates in the browser

No tienes el enlace al ejemplo de aplicación Where Am I? que funciona en los dispositivos móviles. Lo probé en mi Android e inició el módulo GPS para obtener las coordenadas actuales. Puedes analizar la fuente en el ejemplo viviente.

he hecho código QR para acceder con más rapidez desde móvil:

Where Am I QR code

+30

+1 para el código QR ... – Asken

+5

que QR me ahorró un montón de esfuerzo – captDaylight

+1

no funciona en mi teléfono Android, incluso cuando GPS + WiFi está habilitado y permitido. –

17

Para dar respuesta un poco más específico. HTML5 le permite obtener las coordenadas geográficas, y hace un trabajo bastante decente. En general, el soporte del navegador para la geolocalización es bastante bueno, todos los principales navegadores excepto ie7 y ie8 (y mini de ópera). IE9 hace el trabajo pero es el peor ejecutante. Pedido caniuse.com:

http://caniuse.com/#search=geol

También es necesario la aprobación de su usuario para acceder a su ubicación, por lo que asegúrese de comprobar para esto y da algunas instrucciones decente en caso de que está apagado. Especialmente para Iphone, activar permisos para Safari es un poco engorroso.

+1

https://www.w3schools.com/html/html5_geolocation.asp –

+0

http://www.dotnetcurry.com/aspnet-mvc/782/html5-geolocation-aspnet-mvc-part1 es una referencia útil para la implementación en asp .net mvc environment –

5

Uso esto, y usted encontrará toda la información en http://www.w3schools.com/html/html5_geolocation.asp

<script> 
var x = document.getElementById("demo"); 
function getLocation() { 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(showPosition); 
    } else { 
     x.innerHTML = "Geolocation is not supported by this browser."; 
    } 
} 
function showPosition(position) { 
    x.innerHTML = "Latitude: " + position.coords.latitude + 
    "<br>Longitude: " + position.coords.longitude; 
} 
</script> 
+0

probado de trabajos iphone muy preciso (y) –

+1

Solo una nota: getCurrentPosition() y watchPosition() ya no funcionan en orígenes inseguros. Para utilizar esta función, debería considerar cambiar su aplicación a un origen seguro, como HTTPS. – user2589273

Cuestiones relacionadas