Android如何计算最佳缩放级别?

2023-12-31

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


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

}

希望有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android如何计算最佳缩放级别? 的相关文章

随机推荐