Pregunta

Actualmente estoy perdiendo el pelo por la API de AJAX de Google. Lo que hago es convertir los datos de ubicación estructurados en una consulta de la API de búsqueda local de Google para ofrecer a los usuarios una lista de resultados alternativos de los lugares.

ej .:

http://ajax.googleapis.com/ajax/services/search/local?v=1.0&key=XXX&hl=en_US&mrt=localonly&rsz=large&q=pizza+Neustadt+DE

Sin embargo, la API se comporta de manera muy extraña a veces, a menudo sin tener en cuenta ciertos parámetros que le paso. Por ejemplo:

Si busco " término Roma Roma IT " en Google Maps, luego encuentra todos los términos en Roma como se esperaba. Si repito la misma búsqueda en la API, obtengo cero resultados (tengo que eliminar 'Roma' o 'Roma' para que funcione - Roma es la región administrativa aquí y Roma es el nombre de la ciudad).

¿Por qué es eso?

Otro ejemplo. Hay como 20 ciudades diferentes, ciudades y municipios llamados Neustadt en Alemania. Ahora, cuando busco en Google Maps, solo encuentra uno, a menos que especifique un calificador adicional, como una región o algo así.

Ahora, en el nivel de API, esperaba que al pasar los parámetros lat / lon junto con una consulta de Neustadt, sería lo suficientemente inteligente como para elegir el Neustadt correcto al observar la codificación geográfica. Pero eso no sucede, siempre elige el mismo Neustadt e ignora los datos geográficos.

q=pizza+Neustadt+DE&sll=48.8053,11.7579

Tuve problemas similares al hacer búsquedas en cuadros de límites. El cuadro delimitador parece ignorarse por completo, ya que todavía estoy obteniendo datos de resultados que se encuentran a cien kilómetros de distancia:

q=pizza+Neustadt+DE&sll=48.8053,11.7579&sspn=0.00001,0.00001

El último resultado no está ni en la misma ciudad; ¿No debería el pequeño cuadro delimitador no dar como resultado ningún tipo de datos? Incluso podría pasar un BBox de tamaño cero y todavía obtendría resultados.

Sé que hay una documentación bastante extensa para la API de búsqueda local, pero nunca se detalla en qué parámetros se usan cuándo y cómo se debe evaluar y evaluar una consulta, lo que hace que sea muy difícil obtener resultados decentes. .

¿Tiene sugerencias, sugerencias, sugerencias sobre cómo familiarizarse con la búsqueda de Google Local?

ACTUALIZACIÓN: Acabo de encontrar algo REALMENTE extraño. ¿Alguien podría ir a este sitio web?

http://code.google.com/apis/ajaxsearch /documentation/localsearch/index.html

abra Firebug y supervise el tráfico HTTP al escribir en esta consulta de búsqueda:

test Rome Roma IT

Obtendrás un montón de resultados en el mapa. Ahora copie la URL con la que se contactó a través de AJAX y envíele una solicitud en la línea de comandos:

curl "http://www.google.com/uds/GlocalSearch?key=internal-sample&v=1.0&rsz=large&sll=41.97684819454683%2C12.486648559570312&sspn=0.204185%2C0.549316&q=test%20Rome%20Roma%20IT&lssrc=lsc&lscstyle=final&start=0&callback=_callbacks_._5g139yfuc"

Ahora obtengo resultados cero. ¿Cómo puede ser eso posible? Definitivamente no es la clave o los argumentos de devolución de llamada, los eliminé sin ningún cambio en el resultado de esa consulta.

¿Google está extendiendo sus resultados de búsqueda cuando una consulta proviene de uno de sus servidores?

¿Fue útil?

Solución

He encontrado exactamente este mismo problema y parece que se debe a una combinación de problemas de licencia y al hecho de que lo que Google expone a través de sus API y lo que muestra en las páginas de búsqueda de Google Maps / Google son una combinación de diferentes búsquedas. (búsqueda, mapas, base, datos, etc.etc.)

Sobre el problema de la licencia, parece que Google puede mostrar información de más cuando un usuario navega a través del navegador, en comparación con las solicitudes a través de llamadas API (que en teoría podrían ser automatizadas).

Consulte aquí para ejemplo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top