地图二三维联动原理

来源:互联网 发布:怎样提高淘宝店排名 编辑:程序博客网 时间:2024/05/07 21:30

首先加载二维地图,此次的二维地图为arcgis动态地图服务,则先加载动态地图服务,直至能呈现动态二维地图服务。 开启三维地图入口,采用分屏的原理,加载三维地图。设定正北方向,完成二维电子地图初始化,并绑定相应的事件。通过设定一个变量来判断是二维联动三维还是三维联动二维,从而运行相应的核心方法。

二维联动三维主要是通过鼠标按下事件对控制变量赋值,从而在鼠标拖拽、滚轮缩放动作后激发的地图范围改变时运行核心方法。在核心方法中完成实时获取电子地图的当前中心点位置,并给出最大最小xy范围,获取二维地图当前的视点高度,从而将获取到的视点高度的值传给三维,三维定在相同的视点高度,并依此设定三维场景摄像头的位置。在二维联动的过程中需要将平面坐标转换为经纬度坐标,西安80坐标转换为经纬度坐标。三维联动二维主要通过鼠标左键按下事件中给控制变量赋值,并同时调用一个核心方法。核心方法完成将电子地图的中心点坐标设为当前浏览的三维场景的中心点坐标,并计算三维场景的显示比例来确定电子地图的显示层级。三维场景的显示比例是通过当前三维场景在3D窗口的宽度与其所展现的实际的三维球体上的距离的比值确定。这样就成功实现了二三维的互动。

在最后的时候,需要关闭二三维联动并且取消鼠标左键按下事件以及滚轮事件。

原创粉丝点击