2016-07-12 6 views
0

Ich habe eine Anwendung, die instantsearch.js von Algolia verwendet, um Suchergebnisse auszugeben. Die Suchergebnisse sind in 3 große Kategorien unterteilt (Personen, Artikel, Dienstleistungen). Nur Personen haben ein Attribut _geoloc zugeordnet.Anzeige Algolia Suchergebnisse auf Karte mit nur Teilmenge von Ergebnissen mit _geoloc

I instanziiert den Such-Widget mit:

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


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

ich die Karte instanziiert mit:

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

Wenn nur Menschen als Treffer zurückgegeben werden, die Ergebnisse machen korrekt auf der Karte. Wenn jedoch die Datenmengen Dienstleistungen oder Waren enthalten, erhalte ich folgende Fehlermeldung:

Uncaught RangeError: Maximum call stack size exceeded 

Ich verstehe, dass dies auf die Tatsache zurückzuführen ist, dass kein _geoloc für die Hits von Typ services/Artikel vorhanden ist.

Kann eine Teilmenge der Treffer nur auf der Karte gerendert werden?

Antwort

1

Ich glaube nicht, dass es eine Möglichkeit gibt, die Ergebnisse jetzt zu filtern, aber eigentlich sollte dies gegen das Innere des instantsearch-googlemaps Widget geschützt werden. Ich habe an issue zu diesem Zweck geöffnet.

+0

Danke Josh! Sehr geschätzt. – DigitalLawyer

+0

Gerade eine neue Version 1.2.5 veröffentlicht, um dies zu lösen – vvo