2013-02-05 10 views
18

Ich verwende Google Maps v2 in meiner Anwendung. Wenn der Benutzer den Bildschirm schwenkt oder zoomt, möchte ich den Bereich der Karte, auf dem ich den POI abrufen möchte, nur im Bildschirmansichtsteil abrufen.
Ich ging durch die Dokumentation, konnte aber keine Hilfe finden.Android Google Maps erhalten Boundary Koordinaten

Antwort

50

Sie müssen die Klassen Projection und VisibleRegion verwenden, um die LatLng-Region sichtbar zu machen.
So würde der Code in etwa so aussehen:

LatLngBounds curScreen = googleMap.getProjection() 
    .getVisibleRegion().latLngBounds; 
+0

ich das versuchte ich immer bin nur Nordwesten und Südwesten Wert. Irgendeine Idee, wie man die anderen zwei Werte erhält? –

+1

nordöstlich und südwestlich meinst du? Wenn ja - so wird die Begrenzungsbox dargestellt (obere rechte und untere linke Ecke des Ansichtsfensters). Angesichts dieser zwei Punkte ist es ziemlich einfach, andere 2 Punkte zu berechnen. Recht? Der einfachste Weg, um zu überprüfen, ob ein bestimmter POI (LatLng) innerhalb der Box liegt, ist der Aufruf der Schnittstelle 'LatLngBounds.contains (LatLng point)'. Allerdings ist die Anzeige einer großen Anzahl von Markern auf einer Karte eine separate Geschichte. –

+0

Wie kann ich die anderen beiden Punkte bekommen, tut mir leid, bin verwirrt. Ant über viele Marker zeigen gibt es eine optimierte Möglichkeit, das zu tun? –

Verwandte Themen