2010-03-19 5 views
7

ich arbeite auf Kartenansicht. Ich möchte Overlay-Elemente in der Kartenansicht platzieren. Diese Overlay-Elemente hängen davon ab, ob Kartenansicht und Zoomstufe angezeigt werden. wie man den Längen- und Breitengrad der Kartenansicht in dieser vier Ecke erhält und wie man das Overlay-Element darin analysiert. Auch wir müssen das Zoomlevel überprüfen. Irgendwelche Idee? wie es geht?Wie bekomme ich den Long & Lat Wert von vier Ecken in der MapView in Android?

Antwort

11

Ich glaube, Sie

mapview.getProjection().frompixel(intx, int y) 

Für die 4 Ecken des Bildschirms verwenden (Sie ihre Koordinaten von getwidth und getHeight auf Ihrem mapView bekommen können, und beginnend mit (0,0), (getwidth (), 0), (0, getHeight()) und (getwidth(), getHeight())

Dies wird Ihnen 4 geopoints, von dem Sie Breiten- und Längen extrahieren können

+0

dank Sephy für ur schnelle Antwort. – Praveen

+1

Gern geschehen, eigentlich hatte ich keine Ahnung von der Antwort der Antwort, als ich deine Frage sah, aber es löste mein Interesse aus und ich suchte danach – Sephy

6

suchen Sie nach so etwas wie dies?

Projection proj = mapView.getProjection(); 
GeoPoint topLeft = proj.fromPixels(0, 0); 

GeoPoint bottomRight = proj.fromPixels(mapView.getWidth()-1, mapView.getHeight()-1); 

double topLat = topLeft.getLatitudeE6()/1E6; 
double topLon = topLeft.getLongitudeE6()/1E6; 
double bottomLat = bottomRight.getLatitudeE6()/1E6; 
double bottomLon = bottomRight.getLongitudeE6()/1E6; 

Hoffe es hilft!

6

Wenn Sie die google-play-services Bibliothek und die SupportMapFragment insbesondere verwenden.

this.getMap() geben Sie die Instanz von GoogleMap (die MapView Wraps)

Dann einfach:

map.getProjection().getVisibleRegion();

Verwandte Themen