导航中mapviewer接口的一些概念和实现
文章转自:http://blog.csdn.net/viewcode/article/details/8720395
相关要素:当前位置positioning,当前规划的道路routeguidance(当道路规划启用时),地图数据(Map)
功能: 为导航控制层或HMI提供数据,如mapdata,route,position等; 并且提供 交互的接口,如设置比例尺,旋转,滚动,显示/隐藏等功能
mapviewer是导航引擎中一个重要上层接口。这里的mapviewer是导航引擎中提供给上层地图控制端map control 和界面HMI的接口。
其功能的灵活性和支持力度基本上决定了用户的体验和开发的灵活性。并且,一般的导航引擎的mapviewer 都有3D模式,展示各种地图数据,而经典的2D模式可以看做是3D一种特例。
获取所有可用的地图的类型、handle信息,窗口画布信息,获取所有view的信息
scrolling:3D滚动效果,此时,不断更新相机的位置,与速度(这里是动画的速度,不是行驶速度)、方向相关。关闭scrolling,即速度为0即可。
设置尺度:本质上就是设置相机位置到中心的距离。而与动画的速度相关。
设置显示风格:如map,hmi,guidance规划,hud等,及白天、夜间模式。
关于view的position,map data, route的具体信息都由 控制端上层 负责提取,并渲染。
地图数据的提供是根据NDS中tiles的概念,分层,分片进行的。