2016-11-23 5 views
2

Ich versuche eine funktionierende Geo-Suche mit Algolia einzurichten.Algolia Geo Suche nicht sehen Ranking Info

Bis jetzt bin ich betäubt, wie einfach es war, einzurichten. Als nächstes versuche ich, die Entfernung vom gefundenen Objekt zum vom Benutzer ausgewählten Ort zu zeigen.

Ich benutze instantsearch.js mit places.js.

Dies ist mein Set up für instantsearch:

let search = instantsearch({ 
    appId: 'appid', 
    apiKey: 'apikey', 
    indexName: 'dev_index', 
    url_sync: true, 
    searchFunction: function(helper) { 
     helper.setQueryParameter('getRankingInfo', 1).search(); 
    } 
}); 

Und die Orte Widget (es anders genannt als in der Dokumentation, weil ich es in über NPM bin ziehen)

search.addWidget(
    placesWidget({ 
     container: '#places-box', 
     type: 'city', 
     aroundLatLngViaIP: false, 
     countries: 'de' 
    }) 
); 

Wenn ich Schauen Sie in die Dev-Tools, ich sehe die folgenden Abfrage-Parameter nach der Auswahl einer Stadt in der places.js Widget:

enter image description here

Aber meine Hits Objekt nicht die erwartete "_rankingInfo" Objekt enthalten:

enter image description here

Was mache ich falsch?

Antwort

4

helper übergeben an searchFunction ist nicht in der Lage, zusätzliche Abfrageparameter festzulegen.

Um es Sie arbeiten kann es wie folgt verwenden:

searchFunction: function(helper) { 
    this.helper.setQueryParameter('getRankingInfo', true); 

    helper.search(); 
} 

Es wird den Trick.

jsFiddle: https://jsfiddle.net/ur6qetp1/

+0

Dank einer Tonne! Wissen Sie, in welcher Einheit die Entfernung zurück gegeben wird? – Tim

+1

@Tim Es ist in Metern - https://www.algolia.com/doc/guides/geo-search/geo-search-overview#display-the-distance –

+0

Wenn Sie wissen, wo Sie suchen, ist es einfach, danke nochmal:) – Tim

Verwandte Themen