2011-06-09 66 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

早些時候回答希望它可以幫助有人。