2011-12-28 9 views
7

Estoy trabajando con Google Maps y necesito poder buscar en un radio de 5 millas alrededor de un centro de código postal así que pensé que la manera más fácil de hacerlo sería ser para averiguar la conversión de latitud/longitud a millas.Cuál es la conversión de latitud/longitud a una 1 milla

+0

Esto no es realmente una pregunta de programación, y no hay una sola conversión. –

+0

[Biblioteca de geometría de Google] (http://code.google.com/apis/maps/documentation/javascript/geometry.html#Distance) puede calcular la distancia para usted. –

Respuesta

3

Google es tu amigo. Encontré esto dentro de los primeros resultados de "conversión de longitud de latitud a millas": http://www.movable-type.co.uk/scripts/latlong.html

Incluso proporciona algunos códigos de javascript. Solo una nota, da el resultado en KM, pero eso se puede convertir fácilmente en millas.

7

Aquí está la idea básica usando Google's Geometry library.

Recuerde agregar la biblioteca de geometría. Está separado de la biblioteca de mapas de Google.

<script type="text/javascript" 
    src="http://maps.googleapis.com/maps/api/js?libraries=geometry&sensor=false"> 
</script> 

ejemplo de uso:

//the distance function defaults to km. 
    //to use miles add the radius of the earth in miles as the 3rd param. 
    //earths radius in miles == 3956.6 
    var distance = 
     google.maps.geometry.spherical.computeDistanceBetween(
      /* from LatLng */, 
      /* to LatLng */, 
      /* radius of the earth */ 
    ); 

    if (distance <= 5) { //less or equal to five miles 
     var marker = new google.maps.Marker({ 
      map: map, 
      position: //LatLng 
     });    
    } 

Tengo un ejemplo fiddle de esto en acción.

Cuestiones relacionadas