2010-07-20 10 views
6

Geocoder getFromLocationName no devuelve nada si estoy buscando lugares de negocios. Aquí están encontrando mi hasta el momento:Geocoder getFromLocationName no encuentra la dirección

  • lugares de comestibles, edificios comerciales -> ningún resultado
  • escuelas -> búsqueda de resultados, pero sólo volver latitud y longitud. Tengo que hacer una geocodificación inversa para obtener la dirección basada en las coordenadas, pero la dirección no sería precisa.
  • dirección completa -> misma que la escuela, y no regresaron Latitud y Longitud
  • hospital y farmacia -> volver Latitud y Longitud

He probado esto en dispositivos 1.6, 2.1 y 2.2 que tiene Google Maps .

Estoy tratando de encontrar si hay una limitación explicado en alguna parte en el SDK, pero no hay ninguna excepción:

La cantidad de detalle en un revés geocodificada Descripción de la ubicación puede variar , por ejemplo, una podría contener la dirección completa del edificio más cercano , mientras que otro podría contener solo un nombre de ciudad y un código postal. La clase Geocoder requiere un servicio de back-end que no está incluido en el core android framework. Los métodos de consulta Geocoder volverán una lista vacía si no hay servicio de back-end en la plataforma (http://developer.android.com/reference/android/location/Geocoder.html)

[Actualización] Así que después de noches de la investigación, no puedo parece que sea trabajo - Google simplemente no me dará el resultado. Algunas discusiones sobre desarrolladores de Android apuntan a que getFromBusinessName fue omitido cuando salió Google Navigation. Así que estoy empezando a suponer que Google está retirando parte de su servicio de geocodificación.

Siempre puedo crear una página web que use Google Geocoder API, pero se limita a 2500 llamadas de API, y no creo que sea legal (lol). ¿Cuáles son mis alternativas aquí?

+0

¿Ha encontrado ninguna respuesta? ¿O algo para evitar este problema? Traté de encontrar un servicio web o algo así, pero algo gratuito para la búsqueda de negocios no es tan fácil de encontrar. Además, SOAP es una verdadera mierda para Android, incluso con Ksaop. Mira lo que he encontrado en mi LogCat: Para la búsqueda de negocios, tengo este error: * LocationMasfClient forwardGeocode (.): Ninguna característica en GLocation * ¡Pero para la búsqueda exacta, cuando solicito mi dirección, este error no está presente! –

+0

Sí, las escuelas, los edificios públicos no comerciales/no comerciales generalmente están allí. Sin embargo, solo devuelve la latitud/longitud, no la dirección. Entonces, si busco mi dirección, devolverá una coordenada. Si hago geocodificación inversa de esa coordenada, obtendré una dirección diferente. Esto está tan mal ... Sin embargo, todavía estoy empezando a buscar http://simplegeo.com. ¡Déjame saber tu hallazgo! – LawrenceGS

+0

Tengo el mismo problema a pesar de que NO estoy buscando una dirección comercial, sino una dirección general específica. – Yar

Respuesta

1

He encontrado el mismo problema. Descubro que la API de geocodificación a menudo no arroja resultados si incluyo el nombre de la empresa/sede, pero al perderla, la relación lat/long puede ser mucho menos precisa.

he implementado una solución pragmática: 1. Llame a la API con una cadena que incluye el nombre de la empresa/lugar 2. Si falla, lo llaman por segunda vez sin el nombre de la empresa/lugar, sólo la dirección

Todavía tengo que ver un caso donde no se devuelve ubicación, por lo que parece un compromiso decente ya que al menos obtengo datos de ubicación, aunque a veces son menos precisos, y el costo de una segunda llamada API se mitiga con llamadas con hilos

+0

¿Lo está llamando usando getFromLocationName? – LawrenceGS

0

Pruebe este enfoque:

1) Uso Geocoder para convertir latitud y longitud para hacer frente a
2) realizar una llamada de API para Whitepages (o servicio similar), específicamente el método reverse_address que le llevará nombre de la empresa para la dirección mencionada.