2010-12-08 13 views
2

Also, ich versuche, eine Anwendung zu entwickeln, die Benutzerlisten anzeigt. Die Website sollte den Benutzerstandort erkennen (dafür verwende ich maxmind api) und dann Listenings vom Standort des Benutzers + Städte innerhalb eines benutzerdefinierten Radius anzeigen.Nächste Stadt wie odle.com finden

Wie mache ich das? Mit der MaxMind-API kann ich die Stadt des Nutzers anhand der IP-Adresse erkennen, aber wie finde ich Städte in der Nähe?

Referenz-Website: www.oodle.com (Sie können Stadt und Radius auch manuell ändern).

Sanguine

+0

Haben Sie eine API dafür gefunden? – muthu

Antwort

2

Anstatt zu speichern und vergleichen Städte, zu speichern und vergleichen, Längen- und Breitengrade, die konkreten Orte sind nicht mehrdeutige Namen. Alle GeoIP-Datenbanken von MaxMind stellen diese bereit. Eine schnelle Google-Suche sollte Ihnen helfen, Entfernungen zwischen Punkten auf der Erde zu berechnen.

Wenn Sie tatsächlich in der Nähe von Städten, nicht in der Nähe von Benutzern finden möchten, wie Sie gesagt haben, dann benötigen Sie eine Datenbank Zuordnung von Städten zu Standorten. Auch dies bietet MaxMind mit all seinen Datenbanken. Gehen Sie zu ihrer Website, gehen Sie zu der Seite über die Datenbank, die Sie gekauft oder heruntergeladen haben, und sehen Sie sich die Anweisungen zum Einfügen des CSV-Formats in eine SQL-Datenbank an. Das wird Ihnen den Breiten- und Längengrad jeder Stadt geben. Dann liefert eine Google-Suche wieder die Mathematik, um den Abstand zwischen zwei Punkten auf der Erde (lat/long pairs) in einer SQL-Abfrage zu berechnen. Ordne nach dieser Berechnung, um die nächsten Städte zu finden.

Es tut uns leid, Ihnen nur Ratschläge zu geben, anstatt Code, aber es gibt eine Menge kleiner Dinge, die Sie selbst tun müssen, um diese Seite zu bauen.

+0

Danke, Dan. Das war hilfreich. Ich hatte gehofft, eine API zu finden, die es tut, weil es ziemlich viele Aufstellungsorte gibt, die Resultate zeigen, die auf Ihrem Standort und nahe gelegenen Positionen basieren. Nun, mit Ihren Eingaben scheint es kein sehr schweres Problem zu sein. Danke noch einmal. – Sanguine