2010-03-19 8 views
7

pracuję nad widokiem mapy. Chcę umieścić element nakładki na widoku mapy. te nakładki zależą od aktualnie wyświetlanego widoku mapy i poziomu powiększenia. jak uzyskać aktualną długość i szerokość geograficzną tego czterokrotnego widoku mapy oraz jak analizować, ile w nim elementu nakładki. również musimy sprawdzić twój poziom powiększenia. Każdy pomysł? jak to zrobić?jak uzyskać długą i lat wartość czterech rogach w widoku mapy w systemie Android?

Odpowiedz

11

myślę, trzeba użyć

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

na 4 rogach ekranu (można dostać ich współrzędne autorem getwidth i getheight na MapView, a wychodząc z (0,0), (getwidth (), 0), (0, getheight()) oraz (getwidth(), getheight())

To daje 4 geopoints z których można wyodrębnić szerokość i długość geograficzną

+0

dzięki Sephy ur szybką odpowiedź. – Praveen

+1

Nie ma za co, właściwie nie miałem pojęcia o odpowiedzi na pytanie, kiedy zobaczyłem twoje pytanie, ale to wywołało moje zainteresowanie i szukałem tego – Sephy

6

szukasz czegoś podobnego to?

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; 

Mam nadzieję, że pomoże!

6

Jeśli korzystasz w szczególności z biblioteki google-play-services i .

this.getMap() daje wystąpienie GoogleMap (który owija MapView)

Następnie wystarczy:

map.getProjection().getVisibleRegion();