1

下面的示例显示了我如何构建查询字符串,该字符串将为查询字符串中定义的搜索参数返回一堆地址(在本例中为星巴克的)...我想知道是否可以使用 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);
    });
}
4

2 回答 2

2

我不是 100% 确定,但我认为 API 没有类别选项。但是,我认为如果您只是在搜索查询中包含该类别,您会得到更好的结果。它本质上是一个标准的 google(在这种情况下,显然是 bing)搜索,因此您可以让它搜索任意数量的术语。

所以要找到星巴克并定义它应该是咖啡:

"&Query=starbucks coffee"

另一个提示:除非距离绝对重要,否则请使用:

SortBy=Relevance

这似乎有助于减少愚蠢的结果

于 2011-08-03T19:20:22.780 回答
0

我已经确认上述答案是正确的,但我想补充一点,您可以对相关性和距离进行排序

于 2011-08-09T20:01:30.157 回答