我在地图视图上工作。我想将叠加项放在地图视图上。覆盖项目全部取决于当前显示的地图视图和缩放级别。如何获取当前地图视图的四个角的经度和纬度以及如何分析其中的多少叠加项。我们还要检查缩放级别。任何想法?怎么做?
答案 0 :(得分:11)
我认为你必须使用
mapview.getProjection().frompixel(intx, int y)
对于屏幕的4个角(你可以通过mapView上的getwidth和getheight得到它们的坐标,从(0,0)开始,(getwidth(),0),(0,getheight())和( getwidth(),getheight())
这将为您提供4个地理位置,您可以从中提取纬度和经度
答案 1 :(得分:7)
如果您正在使用google-play-services
库,特别是SupportMapFragment
。
this.getMap()
会为您提供GoogleMap
的实例(包裹MapView
)
然后只是:
map.getProjection().getVisibleRegion();
答案 2 :(得分:6)
你在找这样的东西吗?
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;
希望它有所帮助!