Question

Considérant un rayon de 50 km de la ville de base que je dois trouver les villes voisines.

Mon script doit être en PHP ... Y at it out .... tout API pour trouver

S'il vous plaît aidez-moi ... s'il vous plaît

thanks ...

Était-ce utile?

La solution

Ceci est une excellente ressource: code.google.com/apis/ cartes / articles / phpsqlsearch.html # findnearsql

Ville de Base: 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;

Même principe que la solution de "Tricker".

Autres conseils

J'ai écrit une sorte de scripts que le calcul de distances entre les coordonnées. Vous pouvez le faire quand vous avez 2 coordonnées:

base :
 - latitude
 - longitude

city :
 - latitude
 - longititude

Vous devez passer dans la ville de base géo coords, alors vous devez envoyer un cURL au serveur Google ou Yahoo (dépend qui géocodage api vous voulez vous) pour obtenir la ville coords.

Maintenant, sa question de quelles villes avez-vous les coordonnées? si vous en avez pas, vous pouvez acheter une base de données de la zone de code postal (vous pouvez alors vos coordonnées au large de la ville que vous voulez avoir). lorsque vous avez les coords de la ville, vous pouvez exécuter un calcul compliqué comme résultat une distance. Après cela, vous pouvez regarder si le résultat / distance est plus ou moins alors 50 si est moindre, vous pouvez le retourner comme une ville dans la gamme.

il n'est pas quelque chose que vous faites en quelques minutes

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top