2010-05-18 22 views

Respuesta

10

Aquí están los documentos API de Google Maps. Contiene una tabla con valores de precisión ...

http://code.google.com/apis/maps/documentation/reference.html#GGeoAddressAccuracy

constante | Descripción
0 Ubicación desconocida.
1 Precisión a nivel de país.
2 Precisión de nivel de región (estado, provincia, prefectura, etc.).
3 Subregión de nivel de subregión (condado, municipio, etc.).
4 Precisión de nivel de ciudad (ciudad, pueblo).
5 Precisión de nivel de código postal (código postal).
6 Exactitud a nivel de calle.
7 Exactitud del nivel de intersección.
8 Exactitud del nivel de dirección.
9 Precisión del nivel de la premisa (nombre del edificio, nombre de la propiedad, centro comercial, etc.).

+1

Estaba seguro de que estaba pasando por alto ... la vieja historia del árbol y el bosque. ¡Gracias! –

+0

@Pekka: Ha np, estas cosas suceden, mucho en nuestra industria :). –

+0

Parece que el enlace ya no es válido. Muchas gracias por copiar los valores! – stellasia

2

@Pekka

No sé si has visto, pero V3 no incluiría a la precisión más. Parece que hay una manera diferente sin embargo. Si agrega los resultados de los elementos address_component obtiene un resultado similar. Descargo de responsabilidad: no estoy 100% seguro de esto, pero parece que incluyeron la precisión de esta manera. Actualmente estoy haciendo algunas pruebas, este es el camino a seguir.

Aquí un ejemplo:

Busqué: 555 Pearl Street, Boulder

Aquí el resultado con exactitud Dirección Nivel (8 niveles de profundidad).

 [address_component] => Array 
      (
       [0] => SimpleXMLElement Object 
        (
         [long_name] => 555 
         [short_name] => 555 
         [type] => street_number 
        ) 

       [1] => SimpleXMLElement Object 
        (
         [long_name] => Pearl St 
         [short_name] => Pearl St 
         [type] => route 
        ) 

       [2] => SimpleXMLElement Object 
        (
         [long_name] => Boulder 
         [short_name] => Boulder 
         [type] => Array 
          (
           [0] => locality 
           [1] => political 
          ) 

        ) 

       [3] => SimpleXMLElement Object 
        (
         [long_name] => Boulder 
         [short_name] => Boulder 
         [type] => Array 
          (
           [0] => administrative_area_level_3 
           [1] => political 
          ) 

        ) 

       [4] => SimpleXMLElement Object 
        (
         [long_name] => Boulder 
         [short_name] => Boulder 
         [type] => Array 
          (
           [0] => administrative_area_level_2 
           [1] => political 
          ) 

        ) 

       [5] => SimpleXMLElement Object 
        (
         [long_name] => Colorado 
         [short_name] => CO 
         [type] => Array 
          (
           [0] => administrative_area_level_1 
           [1] => political 
          ) 

        ) 

       [6] => SimpleXMLElement Object 
        (
         [long_name] => United States 
         [short_name] => US 
         [type] => Array 
          (
           [0] => country 
           [1] => political 
          ) 

        ) 

       [7] => SimpleXMLElement Object 
        (
         [long_name] => 80302 
         [short_name] => 80302 
         [type] => postal_code 
        ) 

      ) 
+1

Saludos @Paedda. Noté que 'exactitud 'ha ido en V3. Parece haber sido reemplazado por un nuevo valor en la sección 'geometrics' (o como se llame, una rama diferente en la misma salida XML, no tengo los datos a mano) diciendo' ROOFTOP' cuando la dirección es perfecta codificado, y un rango de otros valores cuando no es exacto, y los componentes de la dirección que cita. –

+0

Sí, es el miembro 'location_type' de la sección de geometría. –

1

Éstos son los reales estado respuestas de geocoder:

Puede emitir la status dentro de su función de geocodificación:

myMap.geocoder.geocode( 
    { address: someAdress }), 
    function (responses, status) { 
     console.log(status); 
    } 
); 

Al pasar el status, puede cambiar esos cuatro valores :

switch (status) 
    { 
     case 'ROOFTOP' : 
      var precision = 'precise'; 
      break; 
     case 'RANGE_INTERPOLATED' : 
      var precision = 'interpolated'; 
      break; 
     case 'APPROXIMATE' : 
      var precision = 'approximately'; 
      break; 
     case 'ZERO_RESULTS' : 
      var precision = 'no address'; 
      break; 
    } 
+0

¿Está basado en la versión 3? –

+0

@Y_Y Sí, lo es. – kaiser

+1

Veo. Por alguna razón, pensé que ROOFTOP, RANGE_INTERPOLATED, APROXIMATE y * ZERO_RESULTS * eran parte del location_type devuelto por los resultados o (de su código) respuestas.?. ¿Están esos también incluidos en el campo de estado? –