2010-12-08 6 views
2

Donc, j'essaye de développer une application qui affichera des listes d'utilisateurs. Le site devrait détecter l'emplacement de l'utilisateur (j'utilise maxi api maxmind pour cela), puis afficher les listes de l'emplacement de l'utilisateur + les villes dans un rayon spécifié par l'utilisateur.Trouver la ville la plus proche, comme oodle.com

Comment faire? L'API MaxMind me permet de détecter la ville de l'utilisateur par adresse IP, mais comment puis-je trouver des villes proches?

Site de référence: www.oodle.com (vous pouvez également modifier manuellement la ville et le rayon).

Sanguine

+0

Avez-vous trouvé une API pour cela? – muthu

Répondre

2

Plutôt que de stocker et de comparer les villes, magasin et comparer les latitudes et longitudes, qui sont des endroits concrets plutôt que des noms ambigus. Toutes les bases de données GeoIP de MaxMind les fournissent. Une recherche rapide sur Google devrait vous fournir les calculs pour calculer les distances entre les points sur la terre.

Si vous voulez réellement trouver des villes à proximité, pas les utilisateurs à proximité comme vous l'avez dit, alors vous avez besoin d'une base de données cartographie des villes à des endroits. Encore une fois, MaxMind fournit cela avec toutes leurs bases de données. Accédez à leur site Web, accédez à la page sur la base de données que vous avez achetée ou téléchargée et consultez les instructions d'insertion du format CSV dans une base de données SQL. Cela vous donnera la latitude et la longitude de chaque ville. Puis, encore une fois, une recherche Google vous fournira les calculs pour calculer la distance entre deux points sur la terre (paires lat/longues) dans une requête SQL. Commandez par ce calcul pour obtenir les villes les plus proches.

Désolé de vous donner uniquement des conseils plutôt que du code, mais il y a beaucoup de petites choses à faire pour construire ce site.

+0

Merci, Dan. C'était utile. J'espérais trouver une API qui le fait parce qu'il y a quelques sites qui affichent des résultats en fonction de votre emplacement et des emplacements proches. Maintenant, avec vos entrées, cela ne semble pas très difficile à coder. Merci encore. – Sanguine

Questions connexes