我有一个他们在mapview上绘制路径路径的路径,并且我搜索路径以显示路径较长时间内具有最佳缩放级别的完整路径。
由于
答案 0 :(得分:0)
如果你遍历路径中的点并找到最大经度和纬度(即北,南,东和西最远的点),你将拥有路径的边界矩形(即,可以包含路径的最小矩形)。
从那里,您可以找到矩形的中心。获取MapView的MapController(使用MapView.getController())并使用MapController.setCenter()将地图的中心设置为矩形的中心。
最后,计算纬度跨度和经度跨度(矩形的南北大小和矩形的东西大小)并将它们传递给MapController.zoomToSpan()。
答案 1 :(得分:0)
我知道这个问题已被问过一段时间了,但是如果有人碰到同样的问题,试试这个答案:
int minLat = Integer.MAX_VALUE; int maxLat = Integer.MIN_VALUE; int minLon = Integer.MAX_VALUE; int maxLon = Integer.MIN_VALUE; for (GeoPoint item : items) { int lat = item.getLatitudeE6(); int lon = item.getLongitudeE6(); maxLat = Math.max(lat, maxLat); minLat = Math.min(lat, minLat); maxLon = Math.max(lon, maxLon); minLon = Math.min(lon, minLon); } mapController.zoomToSpan(Math.abs(maxLat - minLat), Math.abs(maxLon - minLon)); mapController.animateTo(new GeoPoint( (maxLat + minLat)/2, (maxLon + minLon)/2 ));
希望它有所帮助。