【问题标题】:Android how to calculate optimal zoom level?Android如何计算最佳缩放级别?
【发布时间】:2012-11-30 09:29:46
【问题描述】:

如何计算跟踪路线的缩放级别以完全适合地图(屏幕)的视图? 我有根/整个轨道/在Lon/Lat位置的起点和终点,我可以用输入参数meter计算缩放级别,但是我需要设置多少米?我想在地图上显示记录的轨迹。我显示了赛道,但不适合地图。

【问题讨论】:

    标签: android dictionary zooming


    【解决方案1】:

    您可以使用此代码 sn-p 设置缩放,只需在列表中传递起始和结束地理点。如果你有超过 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
    
    }
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-17
      • 2011-07-21
      • 2013-11-04
      • 2011-08-28
      • 1970-01-01
      相关资源
      最近更新 更多