经常看一些小伙伴问,在三维里如何获取当前的地图的层级。
首先明确的告诉大家一点,在Cesium里是获取不到当前的地图层级的,或者说获取不到明确的地图层级的,为什么那么说呢,看我以下的讲解!
三维地图不像二维,在二维地图里比如加载某个瓦片地图,它是一个层级一个层级加载的,如下面是一个ol加载地图的截图。
我们来解析下这个url :https://c.tile.openstreetmap.org/4/11/6.png
这个 4/11/6.png 就是地图瓦片金字塔里的其中一个瓦片,其中4表示的就是当前的层级。
如果你打开控制台,看下当前ol请求的这个瓦片,它都是请求的同一层级的(如当前请求的都是 4 级)。这个也算二维地图的一个特点。
现在我们切换到三维地图里看,当我请求一个地图服务时:
这里的z也是代表层级的概念,如上图,它同时请求了 9级、10级、11级的地图,所以它不像二维地图里一次只请求一个层级的地图,所以在三维里无法获取当前的地图的层级。
思考一下也是,在三维地图里,如果你只请求一个层级的图片,当它贴到地球这个球体上时,会出现变形,这样的地图也就没什么意义了。
以上是我的个人见解,如有不当之处请指正(可联系q 951973194),感谢各位观看。(之前做了两年二维地图开发。。。)
来源:CSDN
作者:easyCesium
链接:https://blog.csdn.net/caozl1132/article/details/103492829