문제

나는 현재 Google의 Ajax API보다 약간의 머리카락을 잃고 있습니다. 내가하는 일은 구조화 된 위치 데이터를 Google 로컬 검색 API 쿼리로 전환하여 사용자에게 대체 결과 목록을 제공하는 것입니다.

전.:

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

그러나 API는 때때로 매우 이상하게 행동하며 종종 내가 전달하는 특정 매개 변수를 고려하지 않습니다. 예를 들어:

Google지도에서 "Rome Roma It 용어"를 검색하면 모든 것을 찾습니다. 자귀 예상대로 로마에서. API에서 동일한 검색을 반복하면 결과가 0이됩니다 ( '로마'또는 '로마'를 제거해야합니다. 로마는 행정 지역이며 로마는 도시 이름입니다).

왜 그런 겁니까?

또 다른 예. 독일에는 Neustadt라고 불리는 20 개의 다른 도시, 도시 및 자치구가 있습니다. 이제 Google지도에서 검색 할 때 지역이나 다른 것과 같은 추가 예선을 지정하지 않는 한 하나만 찾습니다.

이제 API 수준에서 나는 Neustadt에 대한 쿼리와 함께 LAT/LON 매개 변수를 통과 할 때 GEO 코딩을 보면서 올바른 Neustadt를 선택할 수있을 정도로 영리 할 것으로 예상했습니다. 그러나 그런 일은 일어나지 않습니다. 항상 동일한 Neustadt를 선택하고 GEO 데이터를 무시합니다.

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

경계 박스 검색을 수행 할 때 비슷한 문제가있었습니다. 경계 상자는 완전히 무시되는 것 같습니다.

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

마지막 결과는 같은 도시에도 없습니다. 작은 경계 상자가 어떤 데이터를 가져 오지 않아야합니까? 제로 크기 Bbox를 통과 할 수도 있고 여전히 결과를 얻을 수 있습니다.

로컬 검색 API에 대한 매우 광범위한 문서가 있다는 것을 알고 있지만, 쿼리를 구조화하고 어떻게 평가 해야하는지에 대해 어떤 매개 변수가 사용되는지에 대해 자세히 설명하지 않으므로 괜찮은 결과를 얻기가 매우 어렵습니다.

Google 로컬 검색을 파악하는 방법에 대한 힌트, Tipps, 제안이 있습니까?

업데이트:방금 정말 이상한 것을 발견했습니다. 누군가이 웹 사이트로 이동할 수 있습니까?

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

FireBug를 열고이 검색 쿼리에서 입력 할 때 HTTP 트래픽을 모니터링하십시오.

test Rome Roma IT

지도에서 많은 결과를 얻을 수 있습니다. 이제 AJAX를 통해 연락 한 URL을 복사하고 명령 줄에서 요청을 보냅니다.

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"

이제 결과가 없습니다. 아마도 어떻게 될 수 있습니까? 그것은 확실히 키나 콜백 Args가 아닙니다. 나는 그 쿼리의 결과를 변경하지 않고 제거했습니다.

Google이 쿼리가 서버 중 하나에서 나올 때 검색 결과를 확장하고 있습니까?

도움이 되었습니까?

해결책

나는이 같은 문제를 정확히 발견했으며 라이센스 문제와 Google이 API를 통해 노출하는 것과 Maps/Google 검색 페이지에 표시되는 내용이 다른 검색 (검색, 검색, Google 검색 페이지에 표시되는 내용의 조합에 달려있는 것 같습니다. 맵,베이스, 데이터 등. etc.)

라이센스 문제에서 Google이 표시 할 수있는 것 같습니다. 사용자가 브라우저를 통해 이동할 때 정보 (이론적으로 자동화 될 수 있음)를 통한 요청과 비교하여 브라우저를 통해 진행됩니다.

보다 여기 예를 들어.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top