Obtener coordenadas GPS a partir de una dirección con PHP

noviembre 8, 2013

Con esta sencilla función en PHP podremos obtener las coordenadas GPS a partir de una dirección.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
 
function getCoordinates($address){
    $address = urlencode($address);
    $url = "http://maps.google.com/maps/api/geocode/json?sensor=false&address=" . $address;
    $response = file_get_contents($url);
    $json = json_decode($response,true);
 
    $lat = $json['results'][0]['geometry']['location']['lat'];
    $lng = $json['results'][0]['geometry']['location']['lng'];
 
    return array($lat, $lng);
}
 
 
$coords = getCoordinates("Passeig de Gracia, Barcelona, Barcelona");
print_r($coords);
 
 
/*
Resultado:
 
Array
(
    [0] => 41.3936254
    [1] => 2.1634189
)
*/

Tags ; , , , , ,

4 comentarios

    Rodrigo Dic 31, 2013

    Cómo hacer que sea más preciso el número de coordenadas? Es que no coincide exactamente, se puede hacer más preciso?…

    Responder
    El de al lado Jun 02, 2014

    Es posible que el resultado devuelvo por el API sea con un estado ZERO_RESULTS con lo cual no encontraria el valor del array ‘geometry’.

    En mi caso, he añadido lo siguiente para finiquitarlo:


    if ($json['status'] == 'ZERO_RESULTS') {
    return array();
    }

    Responder
    Uno que llega Abr 18, 2016

    Me vino de perlas, gracias

    Responder
    Mercedes Vasquez Ago 01, 2016

    $coords=utf8_encode($coords);

    Añadir para que busque direcciones con acentos y Ñ

    Responder

Escribe un comentario

Los comentarios son moderados y se utiliza rel="nofollow" para los enlaces.