wie kann ich Städte in der Nähe von einer bestimmten Stadt bekommen?
-
09-10-2019 - |
Frage
Unter Berücksichtigung eines Radius von 50 km von der Basis Stadt i müssen die Städte in der Nähe zu finden.
Ihr Skript sollte in PHP sein ... Gibt es eine API, es herauszufinden ....
Bitte bitte helft mir ...
THanks ...
Lösung
Dies ist eine großartige Ressource: code.google.com/apis/ maps / articles / phpsqlsearch.html # findnearsql
Basis Stadt: Lat: 37 Lng: -122
SELECT id, ( 6371 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 50 ORDER BY distance LIMIT 0 , 20;
Die gleiche Prinzip wie die Lösung von "Tricker".
Andere Tipps
Ich schrieb eine Art aus Skripten, dass die Abstände zwischen den Koordinaten zu berechnen. Sie können es tun, wenn Sie zwei Koordinaten haben:
base :
- latitude
- longitude
city :
- latitude
- longititude
Sie haben in der Basis Stadt geo coords passieren, dann müssen Sie einen cURL zum Google oder Yahoo-Server senden (abhängig von welchem ??Geocoder api Sie wollen Sie), um die Stadt coords zu bekommen.
Nun ist es die Frage, aus welchen Städten haben Sie Koordinaten? wenn Sie keine haben, können Sie eine zipcode Bereich Datenbank kaufen (dann können Sie Ihre Koordinaten aus der Stadt haben Sie wollen),. wenn Sie die Koordinaten von Stadt haben, können Sie eine komplizierte Berechnung ausgeführt als eine Entfernung führen. Danach kann man sehen, wenn das Ergebnis / Abstand mehr oder weniger ist dann 50, wenn ist weniger Sie es als Stadt im Bereich zurückkehren können.
Es ist nicht etwas, das man in wenigen Minuten zu tun