Добавление мест в Алголии для автозаполнения в моем поиске Javascript - PullRequest
0 голосов
/ 16 октября 2018

Я использую Algolia для получения результатов поиска на веб-сайте галереи с использованием ванильных карт Javascript, InstantSearch и листовок.В настоящее время у меня есть автозаполнение Algolia, которое работает для поиска картин.Я также хочу добавить места в Алголии, чтобы пользователь мог искать галереи, которые появляются в определенных пределах.Но это еще не работает.В настоящее время я просто тестирую, используя жестко закодированное местоположение.Может ли кто-нибудь помочь мне с тем, что не работает в моем коде.Очень ценится.

var titlesDataset = {
    source: autocomplete.sources.hits(index, {hitsPerPage: 5}),
    displayKey: 'title',
    name: 'title',
    templates: {
      header: '<div class="ad-example-header">Painting</div>',
      suggestion: function(suggestion) {
        return "<span><img class='search-thumbnail' src='https://res.cloudinary.com/b3/q_auto,f_auto,h_180,dpr_auto/" + suggestion['field_file_name:file'] + "'><span>" + suggestion._highlightResult.title.value + "</span>";
      }
    }
  };

var algoliaPlacesData = placesAutocompleteDataset({
  algoliasearch: algoliasearch,
  type: 'address',
  container: document.querySelector('#aa-search-input'),
  templates: {
    header: '<div class="ad-example-header">Places</div>'
  },
  hitsPerPage: 3,
});

 var autocompleteInstance = autocomplete(document.querySelector('#aa-search-input'), {
    hint: false,
    debug: true,
    cssClasses: {prefix: 'ad-example'}
  }, [
    titlesDataset,
    algoliaPlacesData
  ]);  
var autocompleteChangeEvents = ['selected', 'autocompleted'];
  autocompleteChangeEvents.forEach(function(eventName) {
    autocompleteInstance.on('autocomplete:'+ eventName, function(event, suggestion, datasetName) {
      if (datasetName == 'title') {
        search.helper.setQuery(suggestion.title).search();
      }
      if (datasetName == 'places') {
        // let location = [suggestion.latlng.lat, suggestion.latlng.lng];
        // let latLoc = suggestion.latlng.lat;
        // let lngLoc = suggestion.latlng.lng;
        search.helper.setQueryParameter('aroundLatLng', '0.5137, -0.0985');
        search.helper.setQueryParameter('aroundRadius', 5000);
        search.helper.search();
      }
    });
  });
...