高德地图中缩放级别(zoom)和比例尺(getScalePerPixel)之间的计算关系

高德地图缩放级别(zoom)

高德开放平台的开发文档中,地图缩放级别为(4-20),如下截图:


        实际测试结果为(3-19),如下截图:

   

高德地图比例尺(getScalePerPixel)

        表示当前缩放比例下,每像素代表的实际地图距离(单位米)。



需求描述

        需要计算出在指定缩放比例下计算出当前的比例尺,比如:在缩放比例为5.0的时候,比例尺是多少?

        高德提供的接口中,只能先将地图设定到指定的缩放比例,然后通过getScalePerPixel()来获取当前的比例尺,而我们需要在不设定缩放比例的情况下,获取比例尺的大小。(xx,语文没学好,也不知道描述清楚没有)。


解决方法

       首先,找出计算公式。通过如下输出我们可发现一个规律,在zoom级别差1.0,其比例尺相差2倍。

由此可得出:

  假设缩放比例 A,X表示A缩放比例尺大小
          假设缩放比例 B,Y表示B缩放比例尺大小
假设 B>A

  其关系公式如下:                  / Y = 2^(B-A) 

实际应用

1. 初始化时,首先设定初始缩放比例(A),通过 getScalePerPixel() 获取当前缩放比例下的比例尺(X)。

2. 通过公式可计算任意缩放比例下的比例尺大小。= X / 2^(B-A) 





        

你可能感兴趣的:(高德地图中缩放级别(zoom)和比例尺(getScalePerPixel)之间的计算关系)