Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: OchoaPHP en 15 de Enero 2015, 23:41

Título: Obtener "longitud" y "latitud" coordenadas usuario web (geolocacalización php)
Publicado por: OchoaPHP en 15 de Enero 2015, 23:41
Hola, tengo una duda, y espero me puedan ayudar con esta. Tengo este código:

<script type="text/javascript">
        if(navigator.geolocation){
                navigator.geolocation.getCurrentPosition(coords);
        }else{
                // El navegador no soporta la geolicalización
        }
 
        function coords(position){
                alert("Latitud: "   position.coords.latitude);
                alert("Longitud: "   position.coords.longitude);
        }
</script>


Y obviamente pide permisos del usuario para poder enviar la alerta con la latitud y la longitud, pero hace poco tenia uno como estos que obtenía estos dos datos, pero no me acuerdo como era para no pedir permiso al usuario, y les vengo a pedir el favor de que si me pueden decir como evito la petición del permiso y obtenga el dato, o algún otro código que lo haga así se los agradecería mucho.

Gracias de ante mano, espero respuestas.
Título: Re:Obtener "longitud" y "latitud" sin permisos del usuario
Publicado por: Alex Rodríguez en 15 de Enero 2015, 23:55
Hola, hay distintos servicios de geolocalización que puedes utilizar con php.

Google: https://developers.google.com/maps/documentation/geocoding/

Geolocator: http://freecode.com/projects/ipgeolocation-php-class

Ip info database: http://freecode.com/projects/ipgeolocation-php-class

Saludos
Título: Re:Obtener "longitud" y "latitud" sin permisos del usuario
Publicado por: OchoaPHP en 16 de Enero 2015, 01:21
Hola, hay distintos servicios de geolocalización que puedes utilizar con php.

Google: https://developers.google.com/maps/documentation/geocoding/

Geolocator: http://freecode.com/projects/ipgeolocation-php-class

Ip info database: http://freecode.com/projects/ipgeolocation-php-class

Saludos
Eso es básico y por otro lado "inservible", se hacerlo con estos servidores, ademas hay muchos mas, pero yo necesito ser mas exacto y sin utilizar otros servidores.
Título: Re:Obtener "longitud" y "latitud" sin permisos del usuario
Publicado por: el toba en 16 de Enero 2015, 07:30
estem... voy a opinar de metiche que soy nomas jeje

no te convendría hacer una clase que detecte el IP real y a travez del IP real del usuario saber donde está??

yo se que no te va a dar exactamente la dirección de la casa del usuario, es lógico que no va a ser taaaaaan exacto pero yo de esa forma logré al menos saber de que país, provincia y ciudad era el usuario, si vos pretendes tener datos exactos de donde está parado el usuario en ese momento ya es un poco mas complicado, y mas si usan móviles porque ahí si que me matas!!
Título: Re:Obtener "longitud" y "latitud" sin permisos del usuario
Publicado por: OchoaPHP en 16 de Enero 2015, 13:16
estem... voy a opinar de metiche que soy nomas jeje

no te convendría hacer una clase que detecte el IP real y a travez del IP real del usuario saber donde está??

yo se que no te va a dar exactamente la dirección de la casa del usuario, es lógico que no va a ser taaaaaan exacto pero yo de esa forma logré al menos saber de que país, provincia y ciudad era el usuario, si vos pretendes tener datos exactos de donde está parado el usuario en ese momento ya es un poco mas complicado, y mas si usan móviles porque ahí si que me matas!!
Bueno, ya saliendo del tema si lo fuera hacer con la IP o con un servidor externo ¿como puedo obtener el barrio/zona de ubicación del usuario?, o hacer esto mismo con geolocalización, sin importa ahora la alerta del permiso.
Título: Re:Obtener "longitud" y "latitud" sin permisos del usuario
Publicado por: Alex Rodríguez en 16 de Enero 2015, 13:24
Si tienes latitud 44.4647452 y longitud 7.3553838 puedes obtener la dirección de esas coordenadas en forma de array json a través del api de google maps, con una recuperación pasándole los datos de latitud y longitud, por ejemplo:


http://maps.googleapis.com/maps/api/geocode/json?latlng=44.4647452,7.3553838&sensor=true


A través de lo que te devuelve google maps puedes obtener la calle, número, barrio, código postal, país, etc.
Título: Re:Obtener "longitud" y "latitud" sin permisos del usuario
Publicado por: OchoaPHP en 16 de Enero 2015, 13:26
Si tienes latitud 44.4647452 y longitud 7.3553838 puedes obtener la dirección de esas coordenadas en forma de array json a través del api de google maps, con una recuperación pasándole los datos de latitud y longitud, por ejemplo:


http://maps.googleapis.com/maps/api/geocode/json?latlng=44.4647452,7.3553838&sensor=true


A través de lo que te devuelve google maps puedes obtener la calle, número, barrio, código postal, país, etc.
¿Como puedo imprimir el JSON desde esta URL?
Título: Re:Obtener "longitud" y "latitud" coordenadas usuario web (geolocacalización php)
Publicado por: Alex Rodríguez en 16 de Enero 2015, 14:03
Tienes que manejar Json y JavaScript.

Link a curso Javascript: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=78&Itemid=206

Ejemplo recuperación datos (sería la idea, no el código exacto ya que depende de cómo tengas tu código el hacerlo de una forma u otra):

Código: [Seleccionar]
function imprimirResultadosObtenidos(content) {
    document.getElementById('resultado').innerHTML = content;
}

// Crear el script element
var script = document.createElement('script');
// Asignar src al script
script.src = 'http://maps.googleapis.com/maps/api/geocode/json?latlng=44.4647452,7.3553838&sensor=true';
// Cargar el contenido y mostrarlo
document.body.appendChild(script);

Saludos