2011-08-02 50 views
1

以下示例顯示了我如何構建查詢字符串,該查詢字符串將返回查詢字符串中定義的搜索參數的一堆地址(在本例中爲Starbuck)...我想知道是否可以使用Bing Phonebook API來定義您正在尋找的實體類型,例如咖啡廳,加油站,軟件公司等...?從Bing電話簿獲取業務類型/行業API

function Search(position) { 
      // note a bunch of this code uses the example code from 
      // Microsoft for the Phonebook API 
    var requestStr = "http://api.bing.net/json.aspx?" 

     // Common request fields (required) 
     + "AppId=" + _appId 
     + "&Query=starbucks" 
     + "&Sources=Phonebook" 

     // Common request fields (optional) 
     + "&Version=2.2" 
     + "&Market=en-us" 
     + "&UILanguage=en" 
     + "&Latitude=" + position.coords.latitude 
     + "&Longitude=" + position.coords.longitude 
     + "&Radius=100.0" 
     + "&Options=EnableHighlighting" 

     // Phonebook-specific request fields (optional) 

     // Phonebook.Count max val is 25 
     + "&Phonebook.Count=25" 
     + "&Phonebook.Offset=0" 
     // YP = Commercial Entity, WP = Residential 
     + "&Phonebook.FileType=YP" 
     + "&Phonebook.SortBy=Distance" 

     // JSON-specific request fields (optional) 
     + "&JsonType=callback" 
     + "&JsonCallback=?"; 

    $.getJSON(requestStr, function (data) { 
     SearchCompleted(data); 
    }); 
} 

回答

2

我不是100%確定,但我不認爲API有一個類別選項。但是,我認爲如果您只是在搜索查詢中包含該類別,則會獲得更好的結果。它本質上是一個標準的谷歌(顯然,在這種情況下,bing)搜索,所以你可以讓它搜索任意數量的術語。

因此,要找到星巴克和定義,它應該是咖啡:

"&Query=starbucks coffee" 

另一個祕訣:除非距離是絕對重要的,使用:

SortBy=Relevance 

這似乎有助於減少啞結果

0

我已經確認上述答案是正確的,但我想補充一點,您可以對相關性和距離進行排序