2017-02-11 4 views
0

Ich mache derzeit eine Android-App, die eine Karte darin hat. Ich habe die Karte erfolgreich hinzugefügt und kann nach Orten suchen. Nach dem, was ich online gesucht habe, kann ich meine Stadt einstellen und meine Suche auf mein Land beschränken.Android Karte nur innerhalb einer Stadt zu suchen

Kann jemand meine Suche nur innerhalb einer Stadt beschränken?

Antwort

0

es ist ziemlich schwierig Lösung, aber man kann es durch folgende Schritte ausführen:

Schritt 1: Google Orte ermöglicht es Ihnen, nur die Suchergebnisse von bestimmten LatLngBounds (in Ihrem Fall Stadtgrenzen) vorspannt, aber Suchmaschine kann nach wie vor return Platziere außerhalb der angegebenen Grenzen. Weitere Informationen finden Sie unter Restrict autocomplete results. Ich denke, das ist ausreichend, aber wenn Sie strenge Einschränkungen benötigen, folgen Sie Schritt 2.

Step2: Bei allen Suchergebnissen von Schritt 1 Anruf Places.GeoDataApi.getPlaceById zum Detail Infos zu jedem Platz zu bekommen. Sie erhalten unter anderem LatLng von jedem Ort. Dann können Sie überprüfen, ob jeder Platz innerhalb der angegebenen Grenzen liegt: bounds.contains(LatLng) und wenn nicht, entfernen Sie es manuell aus den Suchergebnissen.

JEDOCH: Step2 Lösung vervielfacht Anzahl der Anfragen auf PlacesAPI und Sie sollten sich zweimal überlegen, ob Sie wirklich diese strenge Beschränkung brauchen!

0

Ich habe die Lösung gefunden. Dies ist jedoch auf meine Stadt festgelegt. Zu jedem, der dies nutzen möchte, ändern Sie einfach die Long und Lat. sb.append("&types=establishment&strictbounds&location=9.30684,123.305447&radius=2000");

Verwandte Themen