i working on map view. i want to put overlay item on the map view. that overlay items are all depends on currently showing map view and zoom level. how to get current map view's longitude and latitude of that four corner and how to analyze how many overlay item inside it. also we have to check thee zoom level.Any Id开发者_开发知识库ea? how to do it?
I think you have to use
mapview.getProjection().frompixel(intx, int y)
For the 4 corners of your screen (you can get their coordinates by getwidth and getheight on your mapView, and starting with (0,0), (getwidth(),0), (0,getheight()) and (getwidth(), getheight())
This will give you 4 geopoints from which you can extract latitude and longitude
If you're using the google-play-services
library and the SupportMapFragment
in particular.
this.getMap()
will give you the instance of GoogleMap
(which wraps MapView
)
Then just:
map.getProjection().getVisibleRegion();
Are you looking for something like this?
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;
Hope it helps!
精彩评论