2013-05-01 192 views
1

下面是一個查詢,我相信應該使用與參考點非常接近的相同名稱生成酒店。Google Places API返回結果遠離搜索中心

https://maps.googleapis.com/maps/api/place/textsearch/xml?key=_your_api_key_goes_in_here_&sensor=false&language=en&location=56.1995,-4.746&radius=30000&query=ARROCHAR

正如喲可以看到的位置是56.1995,-4.746。這是英國的一個地方。查詢是否爲名爲Arrochar的酒店。酒店確實存在。其結果是這樣的:

{ 
    "html_attributions" : [], 
    "results" : [ 
     { 
     "formatted_address" : "Arrochar, Staten Island, NY, USA", 
     "geometry" : { 
      "location" : { 
       "lat" : 40.59234250, 
       "lng" : -74.07407289999999 
      }, 
      "viewport" : { 
       "northeast" : { 
        "lat" : 40.60012790, 
        "lng" : -74.05918419999999 
       }, 
       "southwest" : { 
        "lat" : 40.5779020, 
        "lng" : -74.08570610 
       } 
      } 
     }, 
     "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png", 
     "id" : "c7d9f74dca8676759bfe7ea168b8547cd6de3c5e", 
     "name" : "Arrochar", 
     "reference" : "CpQBiAAAAKYklx4_uV5ovlJP-x-fGr2VAqzhUCRQ2icNBXj2b5TkGZMqix3tL4xyTizwa0_UdZ5VDbI3psEagu0tTiFc2N6Awn2OJE4Oc3NXtXyaUlADLhJKwnZSuMFLFv85ia3AKiR9fFVWH96u6lEcC16foKMyFREY_KR6Z97QdShfiJCPYNlYZye49gsdU0UsIx3YbxIQa5LUZiMGZvW8sQHn_Cog-hoUr4bMXlYdo9Xae82ZRL-BEDSKRAw", 
     "types" : [ "neighborhood", "political" ] 
     } 
    ], 
    "status" : "OK" 
} 

人們可以看到這個地方是在美國,它是5000多公里。現在,如果一個進入並修改查詢過是這樣的:

https://maps.googleapis.com/maps/api/place/textsearch/xml?key=_your_api_key_goes_in_here_&sensor=false&language=en&location=56.1995,-4.746&radius=30000&query=hotel+ARROCHAR

然後正確的結果顯示:

{ 
    "formatted_address" : "Main Street, Arrochar, United Kingdom", 
    "geometry" : { 
     "location" : { 
     "lat" : 56.199560, 
     "lng" : -4.7459760 
     } 
    }, 
    "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/lodging-71.png", 
    "id" : "78d53766dfb2c3bb6008301b079423fffb78b801", 
    "name" : "Arrochar Hotel", 
    "reference" : "CnRtAAAAJPg2ABkegIT9Q12hABjfGezwGgHCc3ur1W761rhtkQq0n6Id-cgaLREU-g8Uo5Bnw4ovaAnqCrYm_fHEKjBHOrHK5dvcGpAndQVsl-zi_qZSZR6Sa5HvYZI4pA3ne3rNTl0m4TwuwmMM0nx2gSkxEBIQFqgW85GrUZI8SQFvohgMiBoU51C716M4m-ySUVECgT4BFZUYB50", 
    "types" : [ "lodging", "establishment" ] 
} 

那麼,爲什麼Places API的文本搜索行動這樣呢?請注意,位置參數指向酒店的確切位置。然而,除非我添加「酒店」這個詞,否則我會得到5000公里外的東西。

感謝

回答

1

這是很老,但爲了以防萬一,我相信你應該使用nearbysearch而不是textsearch。 (在您的網址中)

根據Google Places API文檔,您的搜索與特定位置/距離無關。

考慮到通過使用「附近的搜索」,位置和半徑是必需的參數。 'textsearch'只需要querykey

注意:如果使用rankby=distance,可能不需要包含半徑。 Check the documentation瞭解更多詳情。

祝你好運。

相關問題