我正在尝试与Algolia建立一个有效的地理搜索。
到目前为止,我惊讶于设置起来有多容易。我要尝试实现的下一件事是显示从找到的对象到用户选择的位置的距离。
我正在使用instantsearch.js和places.js。
这是我为instantsearch设置的:
let search = instantsearch({
appId: 'appid',
apiKey: 'apikey',
indexName: 'dev_index',
url_sync: true,
searchFunction: function(helper) {
helper.setQueryParameter('getRankingInfo', 1).search();
}
});
and places小部件(它被称为与文档中的不同,因为我通过NPM将其拉入)
search.addWidget(
placesWidget({
container: '#places-box',
type: 'city',
aroundLatLngViaIP: false,
countries: 'de'
})
);
如果我查看开发工具,我会在places.js小部件中选择一个城镇后看到以下查询参数:
但我的hits对象不包含预期的“_rankingInfo”对象:
我做错了什么?
答案 0 :(得分:4)
helper
的 searchFunction
无法设置其他查询参数。
要使其正常工作,您可以像这样使用它:
searchFunction: function(helper) {
this.helper.setQueryParameter('getRankingInfo', true);
helper.search();
}
它会起作用。
jsFiddle:https://jsfiddle.net/ur6qetp1/