2011-06-09 34 views
0

我有一条路径,它们在地图视图上绘制路径路径,我搜索路径以显示具有最长缩放级别的完整路径路径。在Google地图上绘制线条/路径并查看可见区域中的完整路径线

感谢

+1

只是为了澄清,你是否试图找到一种方法来设置变焦尽可能远,因为它仍然可以显示整个路径?像计算它的边界矩形? – 2011-06-09 03:17:35

+0

是的,就是这样。 – Maxime 2011-06-09 03:25:48

回答

0

如果您遍历在您的路径点,并找出最大经度和纬度,(即,最远点北,南,东,西),您将有边框为您的路径(即,可以包含您的路径的最小矩形)。

从那里,你可以找到你的矩形的中心。为MapView获取MapController(使用MapView.getController())并使用MapController.setCenter()将地图的中心设置为矩形的中心。

最后,计算纬度跨度和经度跨度(矩形的南北大小和矩形的东西大小),并将其传递到MapController.zoomToSpan()中。

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));

它在this StackOverFlow Answer

早些时候回答希望它可以帮助有人。