Ich habe gerade ein Google Nexus One-Smartphone gekauft und möchte zum Spaß eine kleine Android-Anwendung schreiben. Angenommen, ich kann meine aktuellen GPS-Koordinaten abrufen. Wie kann ich programmatisch in der Nähe liegende Sehenswürdigkeiten oder Punkte in einem bestimmten Radius finden? Gibt es eine API, um geo-markierte GPS-Punkte zu erhalten, wie in der Google Earth-Datenbank?
Wenn ich zum Beispiel in der Innenstadt von Chicago bin, würde mein Programm mich auf alle "touristischen" Dinge hinweisen, die ich in dieser Stadt besuchen kann.
Idealerweise würde alles auf meinem Smartphone laufen, aber wenn nötig, kann ich das Smartphone einen Webserver abfragen lassen, der dann mehr Abfragen ausführen würde.
Hängt davon ab, woher Sie Ihre Landmarkendaten erhalten. Wenn Sie eine Web-Abfrage durchführen möchten, können Sie mit einem der oben genannten Dinge ausführen.
Alternativ - Wenn Sie Ihre eigenen Daten haben, können Sie diese in der db mit Lat- und lon-Werten speichern und dann ein begrenzendes Rechteck für eine Abfrage bilden. Diese Frage zeigt Ihnen, wie Sie eine Begrenzungsbox berechnen, die einen bestimmten Radius um Ihren aktuellen Punkt abdeckt (es wird eine Box sein, also größer als ein Kreis ....
)So berechnen Sie die Begrenzung Box für einen bestimmten Breitengrad / Ort?
Mit der Begrenzungsbox können Sie nun eine Abfrage von Ihrer db where lat < maxlat and lat > minlat and lon > minlon and lon < maxlon
durchführen, die Ihnen alle Ihre Interessenpunkte innerhalb der Box anzeigt.
Dann können Sie mithilfe der Location-Klasse in der Android-API die Peilung und Entfernung zu jedem der Treffer berechnen und dann zum Beispiel nach dem Radius Ihrer Position sortieren.
Der schnellste Weg dazu ist:
%Vor%Nach Geo geben Sie Ihre Koordinaten ein, und nach q = geben Sie Ihre Such-Tränen ein, wie Tourismus + Stadt. Dadurch wird die Google Maps App mit den Sonderzielen gestartet.
Wenn Sie eine Karten-Ansicht in Ihrer Anwendung verwenden möchten, müssen Sie die Daten aus einem gewissen Service, wie Sie Ihre eigenen bekommen müssen. Allerdings könnten Sie die Daten aus der Google Ajax-Suche wie folgt abrufen: Ссылка Mehr Infos hier: Ссылка Dadurch werden Sie Ergebnisse, die Geo-Koordinaten haben und Sie würden einen Weg Parsen der Ergebnisse vornehmen müssen und vielleicht in eine Datenbank bekommen.
Eine entwicklerfreundliche Datenquelle, die Sie verwenden können, ist Ссылка . Es handelt sich um eine Datenbank mit Millionen von Brancheneinträgen in den USA, die leicht durchsuchbar sind eine Koordinatendatei mit einer REST-API.
Tags und Links android google-maps gps