2017-08-23 3 views
1

Ich versuche, eine Liste von Produkten zu erstellen, die jeweils mit einer sublocality aus der Google Places API getaggt sind.Google Places API - Suche nach allen Vorfahren eines Ortes oder Speicherung für eine breite (n) Suche

Ich benutze die placesAutoComplete-Methode aus der API, um dem Benutzer zu ermöglichen, während der Erstellung des Produkts nach sublocality zu suchen.

Ich möchte dann anderen Benutzern ermöglichen, nach Produkten an einem Ort zu suchen, aber dieser Ort kann ein locality, city oder jeder andere Typ sein, der Ahnen von besagtem sublocality sind.

Wenn der Benutzer das Produkt die Schaffung eines sublocality wählt erhalte ich eine Liste von types in der Antwort zurück, aber keiner von ihnen enthalten eine place_id.

Ich dachte, es könnte ein Weg sein, um alle Vorfahren place_id s von einem Ort zu finden und das Array speichert zusammen mit dem Produkt, so dass es den Benutzer ermöglicht, ein Produkt an einem Ort zu finden, oder es ist Platz Elternteil oder es ist übergeordnete Stelle oder Es ist das Mutterland usw.

Zum Beispiel listet der Benutzer, der das Produkt erstellt, es in "Rochester, NY, USA" auf. Ich möchte, dass andere Benutzer dieses Produkt finden, wenn sie nach Produkten in "Rochester", "NY" oder "USA" suchen.

Gibt es eine Möglichkeit, alle Vorfahren place_id s eines Ortes zu finden? Oder gibt es eine andere Möglichkeit, diese Werte, die ich übersehen habe, zu speichern, die so etwas ermöglichen?

Antwort

0

Nach viel Suche habe ich die Antwort gefunden, die ich suchte. Für jeden anderen, der dies versucht, ist dies, was ich getan habe:

Bei einem Anruf placesAutoComplete können Sie eine pipeed Zeichenfolge angeben, um den Typ der Ergebnisse, die Sie erhalten möchten, anzugeben. Ich änderte meine aktuellen result_type von Ort mit einem neuen result_type von Land | Ort | Nachbar | Nachbarschaft und jetzt stattdessen den einen zu empfangen, erhalte ich eine Liste von Ergebnissen, die jeweils von einer anderen Art, und jeder mit seinem eigenen place_id .

Eine Kombination der Ergebnisse (mit doppelt herausgefiltert) gibt mir genau das, was ich gesucht habe.