2012-11-30 29 views
1

如何計算跟蹤路線的縮放比例以完全符合地圖(屏幕)的視圖? 我有根/整個軌跡/在Lon/Lat位置的起點和終點,我可以用輸入參數計算器計算縮放比例,但是我需要設置多少米?我想在地圖上顯示登錄的曲目。我展示了曲目,但不適合地圖。Android如何計算最佳縮放級別?

回答

3

您可以使用此代碼段設置縮放,只需要在列表中傳遞起始和結束地點。如果你有超過2分,它也可以。

private void fixZoom(MapController controller, List <GeoPoint> items){ 

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

    controller.zoomToSpan((int) (Math.abs(maxLat - minLat) * 1.1), (int)(Math.abs(maxLon - minLon) * 1.1)); //1.1 to have some padding on the edges. 
    controller.animateTo(new GeoPoint((maxLat + minLat)/2,(maxLon + minLon)/2)); //so the center is positioned just in the middle 

} 

希望有所幫助。