2012-07-31 321 views
10

estoy usando esta llamada a la API de Google Maps para obtener la latitud y longitud de un código postalGoogle Maps API Código geográfico Código postal y establecer ¿Código de país?

http://maps.googleapis.com/maps/api/geocode/json?address=2340&sensor=false

El código postal está en Australia. Esta llamada API devuelve ubicaciones en todo el mundo con códigos postales parciales coincidentes en la dirección.

¿Hay algún parámetro que pueda usar para establecer el país en Australia?

Gracias

Respuesta

20

La forma correcta de hacer esto no es a través de la región de polarización, sino más bien el uso de component filtering:

http://maps.google.com/maps/api/geocode/json 
    ?components=country:AU|postal_code:2340 
    &sensor=false 

Algunas manifestaciones:

Tenga en cuenta que si usa el parámetro de componentes, no necesita especificar el parámetro de dirección.

+0

¿Por qué no funciona con un código postal de Queensland? http://maps.google.com/maps/api/geocode/json?components=country:AU|postal_code:4072&sensor=false –

2

La documentación dice que Region Biasing se basa en CcTLDs, lo que haría Australia au (no han probado a mí mismo).

Aunque también afirma esto:

Nota que la especificación única prefiere resultado para un dominio específico; si existen resultados más relevantes fuera de este dominio, pueden incluirse.

+1

Encontré que '? Address = 2340, au & sensor = false' devuelve solo resultados de Australia aunque es válido? – Anagio

+1

Sí @Anagio es correcto, colocar ", usa" daría como resultado mostrar solo resultados en los Estados Unidos, sin embargo eso solo significa que no se verá en ningún otro país, no significa que va a darle un resultado correcto, por Por ejemplo, si pongo 93274, au me da una ciudad aleatoria en Australia, pero no la ciudad de Australia para ese código postal ... Sea cual sea el motivo, si su objetivo es un país específico, es mejor seguir adelante y usar lo que sugiere. . Sé que ha pasado un tiempo por una respuesta sobre esto, pero me tropecé con eso. –

+0

Para agregar a la respuesta de Aaron, la consulta anterior es ambigua entre una dirección en Australia con un NÚMERO DE CALLE de 2340 y un suburbio con un CÓDIGO POSTAL de 2340. Aparentemente Goggle busca primero números de calles, lo que significa que la probabilidad de recuperar una ciudad WoopWoop es proporcional al valor numérico del código postal. Menos probable en QLD (códigos postales 4000 más) que en NSW (códigos postales 2000 +) El filtrado de componentes es correcto. Uso: & components = country: AU | postal_code: 2340 en la url –

Cuestiones relacionadas