Question

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 Idea? how to do it?

Was it helpful?

Solution

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

OTHER TIPS

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!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top