2017-01-27 4 views
0

Hallo, ich entwickle kleine Android-Anwendung, in der ich in der Nähe Orte mit Google Orte API anzeigen. Ich habe versucht, mit folgenden Anfrage:Get distance gefiltert in der Nähe Orte mit google places api

https://maps.googleapis.com/maps/api/place/nearbysearch/json?rankBy=distance&radius=5000&location=19.107991%2C73.001277&key=API_KEY_VAL&type=school 

So oben Anforderung gibt in der Nähe Schulen, aber diejenigen, die nicht sortiert werden entfernt. Ich habe versucht, mit einer anderen Anfrage:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?rankby=distance&location=19.107991%2C73.001277&key=API_KEY_VAL&type=school 

Above Anfrage gibt mir sortierte Ergebnis Entfernung aber ich kann nicht radius Paramter in diesem Fall verwendet werden.

Auch ich bin in beiden Anfrage einige Herausforderungen konfrontiert. In der ersten Anfrage gibt es mir einige Schulen innerhalb von 5Km umständlich. In der zweiten Anfrage gibt es mir nahe gelegene Schulen zurück. Wenn ich beide Ergebnisse überprüfe, sind einige der nahegelegenen Schulen nicht in der Anfrage enthalten, deren Radius param ist.

Meine erwartete Leistung braucht in der Nähe Schule innerhalb von 5 km Radius mit Entfernung sortiert. Mache ich etwas falsches in obigen Anfragen? Hilfe benötigen. Vielen Dank.

+0

Mögliches Duplikat von [Aktuelle Position und Orte in der Nähe anzeigen und Route zwischen zwei Orten mithilfe der Google Maps API in Android] (http://stackoverflow.com/questions/8428209/show-current-location-and-nearby-places- und-Route-zwischen-zwei-Orte-Using-Googl) – Chisko

Antwort

1

Die Dokumentation ist sehr klar in Bezug auf die rankby und Radius-Parameter:

Radius - Legt den Abstand (in Metern), innerhalb dessen Platz Ergebnisse zurückzukehren. Der maximal zulässige Radius beträgt 50 000 Meter. Beachten Sie, dass Radiusnicht enthalten sein muss, wenn rankby = Abstand (beschrieben unter Optionale Parameter unten) angegeben ist.

rankby - Gibt die Reihenfolge an, in der die Ergebnisse aufgelistet werden. Beachten Sie, dass rankby nicht enthalten sein muss, wenn Radius (beschrieben unter Erforderliche Parameter oben) angegeben ist.

https://developers.google.com/places/web-service/search#PlaceSearchRequests

So gibt es keine Möglichkeit radius Parameter in Verbindung mit rankby=distance zu verwenden.

Die erste Anfrage in Ihren Beispielen ignoriert rankBy (es ist auch Groß-und Kleinschreibung), so erhalten Sie prominente Ergebnisse innerhalb von 5 km Radius. Die weniger auffälligen, aber nahen Ergebnisse könnten in diesem Fall weggelassen werden.

Die Problemumgehung könnte Ergebnisse nach Entfernung sortiert erhalten und alle Orte herausfiltern, wo der Abstand zwischen der location und der Ortskoordinate größer als 5000 Meter ist.

Verwandte Themen