2010-05-18 15 views

risposta

10

Ecco i documenti dell'API di Google Maps. Esso contiene una tabella con valori di precisione ...

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

Constant | Descrizione
0 Posizione sconosciuta.
1 Precisione livello paese.
2 Precisione livello regione (stato, provincia, prefettura, ecc.).
3 Precisione del livello di sottoregione (contea, comune, ecc.).
4 Precisione livello città (città, villaggio).
5 Precisione livello codice postale (codice di avviamento postale).
6 Precisione a livello stradale.
7 Precisione livello intersezione.
8 Precisione livello indirizzo.
9 Precisione livello del locale (nome dell'edificio, nome della proprietà, centro commerciale, ecc.).

+1

Ero sicuro che stavo trascurando ... la vecchia storia dell'albero e della foresta. Grazie! –

+0

@Pekka: Ha np, queste cose accadono, molto nel nostro settore :). –

+0

Sembra che il link non sia più valido. Grazie mille per aver copiato i valori! – stellasia

2

@Pekka

Non so se avete visto, ma V3 non include più la precisione. Sembra che ci sia un modo diverso però. Se aggiungi i risultati degli elementi address_component ottieni un risultato simile. Disclaimer: non ne sono sicuro al 100%, ma sembra che abbiano incluso l'accuratezza in questo modo. Attualmente sto facendo alcuni test è questa la strada da percorrere.

Ecco un esempio:

Ho cercato per: 555 Pearl Street, Boulder

Ecco il risultato con una precisione Indirizzo Livello (8 livelli di profondità).

 [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

Cheers @Paedda. Ho notato che l'accuratezza è andata in V3. Sembra che sia stato sostituito da un nuovo valore nella sezione 'geometrics' (o come è stato chiamato, un ramo diverso nello stesso output XML, non ho i dati a portata di mano) che dice' ROOFTOP' quando l'indirizzo è perfettamente codificato, e una gamma di altri valori quando non è esatto, e i componenti di indirizzo citati. –

+0

Sì, è il membro "location_type" della sezione geometria. –

1

Ecco i reali risposte di stato da geocoder:

è possibile l'uscita status all'interno della vostra funzione di geocoding:

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

Quando si passa il status, è possibile passare quei quattro valori :

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

Si basa sulla versione 3? –

+0

@Y_Y Sì, lo è. – kaiser

+1

Vedo., Per qualche ragione ho pensato che ROOFTOP, RANGE_INTERPOLATED, APPROXIMATE e * ZERO_RESULTS * facevano parte del location_type restituito dai risultati o (dal tuo codice) risposte.?. Anche quelli sono inclusi nel campo dello stato? –

Problemi correlati