Cuestión : Google Maps API: ¿cómo calcular distancia de una localización a un código postal?

Estoy creando un aparato de los mapas del google para un Web site. El usuario introduce un código postal y un número de localizaciones en la vecindad de ese código postal se trazan en la necesidad de map.

I de indicar que hasta dónde cada localización es del código postal introducido (muchas estarán en códigos postales vecinos). el

I tiene el largo/la latitud de cada localización pero de la no sure cómo calcular la distancia a un CIERRE RELÁMPAGO. ¿Ideas? el

I si se asume que lo requerirá este método del API pero no puedo resolver el sintaxis: rel= " nofollow " del” _blank” del target= de " http://code.google.com/apis/maps/documentation/javascript/v2/reference.html#GLatLng.distanceFrom” del href= del
s/maps/documentation/javascript/v2/reference.html#GLatLng.distanceFrom
de http://code.google.com/api class= del

Respuesta : Google Maps API: ¿cómo calcular distancia de una localización a un código postal?

Un código postal no es una localización, él es ruta de un portador postal.  En las ciudades de los E.E.U.U. del este puede haber los códigos postales que son muy pequeños, algunos edificios en Manhattan.  En los estados grandes del oeste, los códigos postales pueden ser muchos, muchas millas anchas.

Los coordenadas del mapa son dados por el “geocode” que es un par de la latitud/de la longitud.  Los datos se expresan siempre en una serie de caracteres con dos firmados o números decimales sin firmar separados por una coma.  La distancia entre dos “geocodes” se puede computar, mientras que el cuervo vuela, por el uso de la fórmula de Haversine.
http://en.wikipedia.org/wiki/Haversine_formula

Mientras que una ruta de gran círculo es la distancia más exacta del A-B, su “exactitud” puede no ser exactamente lo que usted quiere.  Para las distancias cortas a través de nuestra tierra, la geometría plana es suficientemente exacta.
http://en.wikipedia.org/wiki/Cartesian_coordinate_system

El otro componente de la exactitud del gran círculo va al modo de transporte.  Es alto útil para los aviones y los recipientes de alta mar.  Pero si sus recorridos del A-B están en automóvil y usted necesita cruzar un río, por ejemplo, la fórmula de Haversine espera que usted vaya derecho a través del río si hay un puente o no.

En mi experiencia con los cálculos y Google Maps de Haversine, he encontrado que usted puede conseguir una aproximación razonable de la distancia de conducción correcta multiplicando la distancia de Haversine antes de 1.15 a 1.25.  Por razonable, significo, “nadie me quejé” por la margen de error.  Para los viajes cortos, los cómputos son menos exactos y el factor de dulce de azúcar necesita tender a las partes altas.  Para viajes más largos los cómputos son más exactos y el factor de dulce de azúcar puede ser reducido.

El “verdad” conduciendo distancia es determinado evaluando una serie de los “minitrips” uno para cada dar vuelta-punto a lo largo de la ruta.  Google Maps puede hacer esto.  IIRC allí es una llamada del API que devolverá estos datos.

Google Maps nuevamente lanzado API tiene algunas características asombroso robustas.   Por ejemplo, era necesario al “geocode” una dirección antes de agregar un pasador al mapa - ahora usted puede dar simplemente la dirección o el nombre de la localización (“la casa blanca”) y Google Maps podrán a menudo traducir el nombre y/o la dirección al geolocation para usted.  Tengo un artículo aquí en EE que cubra algunas de las nuevas características.
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_3350-Using-the-Google-Maps-API-in-PHP.html

El recorte de código enseña a la manera de computar grandes distancias de círculo.

Google y Yahoo Geocoders volverán un geocode si usted no les da nada sino un código postal, no obstante la exactitud no es todo ésa grande.  El Yahoo Geocoder es el más fácil de utilizar.
http://developer.yahoo.com/maps/rest/V1/geocode.html

Esperar que este Info le sea provechoso.  Fijar por favor detrás si usted tiene cualesquiera preguntas.  Recuerdos, ~Ray
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:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
\n";

// COMPUTE THE DISTANCE BETWEEN TWO LAT/LON PAIRS

// MAN PAGE: http://en.wikipedia.org/wiki/Haversine_formula
function compute_distance($from_lat, $from_lon, $to_lat, $to_lon, $units='KM')
{
    $units = strtoupper(substr(trim($units),0,1));
    // ENSURE THAT ALL ARE FLOATING POINT VALUES
    $from_lat = floatval($from_lat);
    $from_lon = floatval($from_lon);
    $to_lat   = floatval($to_lat);
    $to_lon   = floatval($to_lon);

    // IF THE SAME POINT
    if ( ($from_lat == $to_lat) && ($from_lon == $to_lon) )
    {
        return 0.0;
    }

    // COMPUTE THE DISTANCE WITH THE HAVERSINE FORMULA
    $distance 
    = acos
    ( sin(deg2rad($from_lat))
    * sin(deg2rad($to_lat))
    + cos(deg2rad($from_lat))
    * cos(deg2rad($to_lat))
    * cos(deg2rad($from_lon - $to_lon)) 
    )
    ;

    $distance = rad2deg($distance);

    // DISTANCE IN MILES AND KM - ADD OTHERS IF NEEDED
    $miles = (float) $distance * 69.0;
    $km    = (float) $miles * 1.61;

    // RETURN MILES
    if ($units == 'M') return round($miles,1);

    // RETURN KILOMETERS = MILES * 1.61
    if ($units == 'K') return round($km,2);
}

if (!empty($_GET))
{
    $distance = compute_distance($_GET["a_lat"], $_GET["a_lon"], $_GET["b_lat"], $_GET["b_lon"], $_GET["units"]);
    echo $distance . ' ' . $_GET["units"];
}
?>


Camp David
Casa blanca
PROBARLA AQUÍ:

SEÑALAR UN LAT   LON  
SEÑALAR EL LAT DE B   LON  
Millas
Kilómetros


Otras soluciones  
 
programming4us programming4us