Android Google Maps: Wie bekommt man die Fläche, die derzeit angezeigt im screen-Gerät?
Ist es ein Weg, um die Koordinaten für den aktuellen Bereich, der angezeigt wird, auf dem Gerät?
Hintergrund ist, dass wir zeigen wollen, "in der Nähe" Orten, die gespeichert werden in unserer eigenen Datenbank. Also sagen wir mal, der Benutzer sieht auf den folgenden clip, in dem eine Karte:
Wie bekommen wir die Länge/Breite des Bildschirms (oder der Punkt in der Mitte des Bildschirms und einem radius, die alles abdeckt?). Bitte beachten Sie, das Zentrum der Karte ist in der Regel nicht die aktuelle position, da der Benutzer die Mitte der Karte!
- welche api verwendest du?
- API-Unterstützung mindestens API 11, aber die Unterstützung für die API 8-10 wäre schön
- ich Frage nach der anzeigen-api-version. ist es 1,2 oder 3
- die gerade veröffentlichte version: Google Maps Android API v2
- wptrafficanalyzer.in/blog/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
map.getProjection().getVisibleRegion()
. VonVisibleRegion
erhalten SieLatLngBounds
, die ist einfach, mit zu arbeiten. Sie können auch versuchen, direkt mit der region, die möglicherweise Trapez.Fand ich die Lösung bei Google Map API v2 paar Antworten:
stackoverflow#1 und
stackoverflow#2
So, müssen implementiert Aktivität von GoogleMap.OnCameraChangeListener Schnittstelle
Den Hörer, dass die Arbeit bei der Karte skaliert. Bestimmen als LatLng die Positionen unten Links, unten rechts, oben Links und oben rechts von Karte, die zeigt auf dem Bildschirm. Durch die größte Seite des Bildschirms, und zwei Punkte, die wir bekommen können, radius von der Mitte der Karte.
Return Abstand zwischen 2 Punkten, gespeichert als 2-pair-Mädchen-Position in Meter;
Wenn Sie wünschen, erhalten Sie den radius des Gebietes, das auf dem Bildschirm gezeigt brauchen nur geteilt durch 2.
Ich hoffe, dass Sie nützlich ist !
Dieser berechnet das radio in km basierend auf der Breite der Karte: