开发工具与关键技术:SuperMap/GIS MVC/C# SQL
作者:张文静
撰写时间:2019/2/29
声明变量和申明路径,通过方法init()遍历循环浏览器支不支持canvvas,如果不能,改设备不能运行该范例,声明一堆控件,使它们的图层相互叠加,然后初始化底图,见截图
初始化图层,在这个图层最上层,做卷帘图层,见截图
然后在初始化的addLayer的方法声明它的x轴和y轴,然后获取地图div的宽度,初始化卷帘的位置,以及初始化卷帘图层的显示范围,判断监听地图的拖动事件,见截图
视图层显示范围随着卷帘的拖动而变化,遍历循环如果在缩放后直接拖动卷帘div,卷帘图层显示范围右侧数值需要进行修正,然后在拖动卷帘的方法取消事件的默认行为,判断鼠标捕获,以及使卷帘在地图内,遍历循环如果使用非Canvas图层,在拖动地图后,再次拖动卷帘div,图层显示范围出错,这里修正图层显示范围右侧数值,拖动完成后,判断释放鼠标捕获,见截图
然后地图drag,pan或者zoom操作开始时执行该函数,此时记录卷帘图层显示范围偏移量,地图drag,pan或者zoom操作开始后执行该函数,此时计算卷帘图层显示范围偏移量,如果没有进行缩放,计算偏移量后,设置卷帘图层left,top,right,bottom显示数值,如果进行缩放,则left,top,bottom重置为默认值,right设置为当前卷帘div所在位置数值,设置非Canvas卷帘图层可见范围,见截图
然后将传入的数值取整,见截图
执行结果,见截图
卷帘
最新推荐文章于 2023-07-26 15:24:29 发布