在地图上显示Algolia搜索结果,仅显示具有_geoloc的结果子集

时间:2016-07-12 18:24:34

标签: google-maps algolia

我有一个应用程序使用Algolia的instantsearch.js来呈现搜索结果。搜索结果分为3大类(人员,文章,服务)。只有人拥有与之关联的_geoloc属性。

我使用以下方法实例化搜索小部件:

var search = instantsearch({
  appId: 'xxx',
  apiKey: 'f9217ccdd8e1925a1823e00377e86235',
  indexName: 'dev_test_public_search'
});


search.addWidget(
      instantsearch.widgets.searchBox({
        container: '#q',
        placeholder: 'How can we help?'
      })
    );

我使用以下方法实例化地图:

search.addWidget(
  instantsearch.widgets.googleMaps({
    container: document.querySelector('#map'),
  })
);

当只有人作为点击返回时,结果会在地图上正确呈现。但是,当数据集包含服务或文章时,我收到以下错误:

Uncaught RangeError: Maximum call stack size exceeded

据我所知,这是因为类型服务/文章的点击不存在_geoloc。

是否有可能只在地图上渲染一部分命中?

1 个答案:

答案 0 :(得分:1)

我不相信有一种方法可以立即过滤结果,但实际上应该保护它免受instantsearch-googlemaps小部件内部的影响。我打开an issue就是这样。