首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android如何计算最佳变焦级别?

Android如何计算最佳变焦级别?
EN

Stack Overflow用户
提问于 2012-11-30 17:29:46
回答 1查看 1.4K关注 0票数 2

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-30 17:38:11

您可以使用此代码片段设置缩放,只需在列表中传递开始和结束地理位置即可。如果你有两个以上的点,它也可以工作。

代码语言:javascript
复制
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

}

希望这能有所帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13642315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档