地图比例尺与高德地图中的缩放级别(0-20)的映射关系与转换方法

一、概述

近期基于高德地图进行了不少开发工作,期间遇到了一个与比例尺相关的问题。

如何将地图比例尺与高德地图中的缩放级别(0-20)对应起来?

二、映射关系

[高德地图api比例尺][https://www.cnblogs.com/yesyes/p/6785705.html]

三、转换方法

高德地图中的zoom是一个float类型的参数,取值范围为(0-20),此处没有做到精细化转换,待后续更新!

    /**
     * “scale-zoom”映射关系:https://www.cnblogs.com/yesyes/p/6785705.html
     *
     * @param scale 比例尺
     * @return zoom值
     */
    private int scale2Zoom(int scale) {
        if (scale <= 10) return 19;
        else if (scale <= 25) return 18;
        else if (scale <= 50) return 17;
        else if (scale <= 100) return 16;
        else if (scale <= 200) return 15;
        else if (scale <= 500) return 14;
        else if (scale <= 1000) return 13;
        else if (scale <= 2000) return 12;
        else if (scale <= 5000) return 11;
        else if (scale <= 10000) return 10;
        else if (scale <= 20000) return 9;
        else if (scale <= 30000) return 8;
        else if (scale <= 50000) return 7;
        else if (scale <= 100000) return 6;
        else if (scale <= 200000) return 5;
        else if (scale <= 500000) return 4;
        else if (scale <= 1000000) return 3;
        else if (scale > 1000000) return 2;
        return 20;
    }
posted @ 2017-11-27 18:54  NeilLee  阅读(15863)  评论(0编辑  收藏  举报