以下示例显示了我如何构建查询字符串,该字符串将返回查询字符串中定义的搜索参数的一堆地址(在本例中为Starbuck的)...我想知道是否可以使用Bing Phonebook 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);
});
}
答案 0 :(得分:2)
我不是百分百肯定,但我不认为API有类别选项。但是,我认为如果您只是在搜索查询中包含该类别,您将获得更好的结果。它本质上是一个标准的谷歌(在这种情况下显然是bing)搜索,所以你可以让它搜索任意数量的术语。
所以要找星巴克并定义它应该是咖啡:
"&Query=starbucks coffee"
另一个提示:除非距离绝对重要,否则请使用:
SortBy=Relevance
这似乎有助于减少愚蠢的结果
答案 1 :(得分:0)
我已经确认上面的答案是对的,但我想补充一点,你可以对相关性和距离进行排序