地图二三维联动原理
2017-08-17 16:58
232 查看
首先加载二维地图,此次的二维地图为arcgis动态地图服务,则先加载动态地图服务,直至能呈现动态二维地图服务。
开启三维地图入口,采用分屏的原理,加载三维地图。设定正北方向,完成二维电子地图初始化,并绑定相应的事件。通过设定一个变量来判断是二维联动三维还是三维联动二维,从而运行相应的核心方法。
二维联动三维主要是通过鼠标按下事件对控制变量赋值,从而在鼠标拖拽、滚轮缩放动作后激发的地图范围改变时运行核心方法。在核心方法中完成实时获取电子地图的当前中心点位置,并给出最大最小xy范围,获取二维地图当前的视点高度,从而将获取到的视点高度的值传给三维,三维定在相同的视点高度,并依此设定三维场景摄像头的位置。在二维联动的过程中需要将平面坐标转换为经纬度坐标,西安80坐标转换为经纬度坐标。三维联动二维主要通过鼠标左键按下事件中给控制变量赋值,并同时调用一个核心方法。核心方法完成将电子地图的中心点坐标设为当前浏览的三维场景的中心点坐标,并计算三维场景的显示比例来确定电子地图的显示层级。三维场景的显示比例是通过当前三维场景在3D窗口的宽度与其所展现的实际的三维球体上的距离的比值确定。这样就成功实现了二三维的互动。
在最后的时候,需要关闭二三维联动并且取消鼠标左键按下事件以及滚轮事件。
开启三维地图入口,采用分屏的原理,加载三维地图。设定正北方向,完成二维电子地图初始化,并绑定相应的事件。通过设定一个变量来判断是二维联动三维还是三维联动二维,从而运行相应的核心方法。
二维联动三维主要是通过鼠标按下事件对控制变量赋值,从而在鼠标拖拽、滚轮缩放动作后激发的地图范围改变时运行核心方法。在核心方法中完成实时获取电子地图的当前中心点位置,并给出最大最小xy范围,获取二维地图当前的视点高度,从而将获取到的视点高度的值传给三维,三维定在相同的视点高度,并依此设定三维场景摄像头的位置。在二维联动的过程中需要将平面坐标转换为经纬度坐标,西安80坐标转换为经纬度坐标。三维联动二维主要通过鼠标左键按下事件中给控制变量赋值,并同时调用一个核心方法。核心方法完成将电子地图的中心点坐标设为当前浏览的三维场景的中心点坐标,并计算三维场景的显示比例来确定电子地图的显示层级。三维场景的显示比例是通过当前三维场景在3D窗口的宽度与其所展现的实际的三维球体上的距离的比值确定。这样就成功实现了二三维的互动。
在最后的时候,需要关闭二三维联动并且取消鼠标左键按下事件以及滚轮事件。
相关文章推荐
- 类似 AJAX 地图的拖拽后加载的效果实现原理??
- RpgMakerXp地图原理分析
- [原创.数据可视化系列之二]使用cesium三维地图展示美国全球军事基地分布
- 魔兽争霸的地图验证漏洞和作弊图原理,兼谈魔兽联机机制[转载]
- arcengine 两地图进行联动
- 基于AJAX技术的WebGis系统实践 (2. 三维城市地图系统设计)
- 蜂鸟地图 CEO 付强:每栋建筑都该拥有三维的室内地图
- Ajax二级联动菜单实现原理及代码
- google map api 二三维联动 参考
- WebGIS前端瓦片地图显示原理及实现
- 常见地图瓦片坐标系定义及计算原理
- 相机标定与三维重建原理
- 导航电子地图数据中POI搜索技术原理之三
- 三维立体电影制作 技术原理
- VC++游戏开发1------利用图片拼接实现内存中构建游戏地图,许多游戏编辑器的原理。
- 三维图形原理 为什么我的模型老破面/缺面
- 三维校园电子地图设计
- 基于AJAX技术的WebGis系统实践 (3. 三维城市地图系统实体建设)
- 网络游戏地图移动显示原理学习系列一
- 斜角地图逻辑原理解析和Isometric地图编辑器设计方案(转)