api - geocoder - get latitude longitude google maps javascript
Google Geocode Components dos paĆses (1)
¿Cómo es posible filtrar los resultados de la API de Google Geocode y el uso del parámetro de componentes para dos (o más) países, sin emitir otra solicitud ?
Ejemplo:
http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&components=country:DE,AT&address=wien
da cero resultado, ya que no hay Wien en Alemania y el AT después de que se ignora la coma-
http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&components=country:AT,DE&address=wien
está bien, porque hay un Wien en Austria -
http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&components=country:AT|country:DE&address=wien
da cero resultados, ya que los dos filtros de componentes están superando entre sí
¿Existe algo en la documentación que sobreescribo que lo hace posible, o no puedo hacerlo?
Editar
Probé una solución con la configuración de los límites combinados de Alemania y Austria, pero eso solo pondera los resultados y no los filtra, así que obtuve un resultado que no quería con http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&components=bounds:55.058,17.161|46.372,5.866&address=new%20york
. En este caso, quiero un estado ZERO_RESULTS.
Esto no es posible actualmente. Por favor vote el número 4233 si quiere que esto suceda.
Por el momento puedo sugerir tres posibles soluciones, ninguna de ellas perfecta:
- Realice varias solicitudes y combine los conjuntos de resultados manualmente. Esto le dará la mejor precisión, pero obviamente es el más lento.
- Utilice el truco de límites combinados manualmente en la pregunta de HerrSerker, luego filtre manualmente los resultados donde el
short_name
del elementoaddress_components
con untypes
decountry
no está en su lista de países. - Elimine por completo el filtro de componentes e incluya "Austria OR Alemania" en su cadena de búsqueda. De nuevo, querrá filtrar los resultados manualmente.