<   返回

地图开发科普篇:我秀中国全景在终端是如何展示的?

2017年10月16日 作者:

我秀全景是采用OpengGL绘制技术结合我秀中国独特的全景数据,创造出了适用于我秀中国的实景三维模型系统和针对该模型的摄像机系统,并建立了实景三维模型和摄像机系统间的实时通信机制,用户可以通过手势、陀螺仪等修改实景摄像机系统参数来控制实景的实时显示变换,同样,实景显示的变化也能实时地同步到摄像机系统中。

 

实景数据

 

我秀全景数据采集的是立方体的六个面的实景数据,分为实景缩略图(一张整图,显示称立方体6个面的话需要切割图像),和每个面详细的高清实景数据,故新版本实景引擎采用了较为合适的立方体模型来展示立得实景数据。

 

展示实景需要首先加载实景数据信息,用户设置了需要加载的实景数据(ID,或者经纬度)后,会返回一个json格式数据信息,然后加载实景的缩略图数据,共6张小图片,设置给实景三维模型的实景引擎系统中,让实景引擎首先绘制缩略图模型。

 

之后,实景引擎回调SDK层需要加载的高清实景数据,加载完毕后的实景数据同样需要设置到实景引擎系统中,即可显示高清实景三维模型。

 

同样,实景引擎还会根据用户点击实景的Position来计算是否点击了道路上的箭头等实景Overlay,来执行特殊的用户操作。除此之外实景还支持放大,缩小,拖动,以及陀螺仪等功能。

 

实景模型如下图,立方体的六个面分别标记为1,2,3,4,5,6;其中正对着我们的里面的面(远)为1,右面为2,正对着我们的面(近)为3,左面为4,顶面为5,底面为6。

 

 全景数据

 

默认OpenGL初始化的方向为:视角在立方体的中心,朝向面1的中点。

 

实景预加载

 

实景预加载是从网络加载实景数据信息,之后请求实景缩略图数据,一张图中包含6张小图,切割后分别显示到实景模型的6个面上,并开始检测哪些面需要加载高清图,回调SDK层进行高清图加载。高清图采用的是懒加载的模式,即用到才会请求加载。特别是2,3,4三个面。

 

 全景地图

 

高清实景加载

 

SDK层由实景引擎返回的面序号来加载不同的面的高清实景数据,并设置进引擎显示,而且引擎层会记录当前面是否已经加载过实景,加载过或者回调给SDK层之后就不再进行高清图的请求处理。

 

此外,我秀全景技术内部实现一套针对我秀全景图的图片数据缓存方案,能高效地管理用户浏览过的实景图片数据,从而为用户节省流量。

 

实景切换

 

切换实景有两种方式,第一种是直接点击实景中的道路箭头(箭头会绑定某一个实景的信息)进行实景的切换,另外一种是通过接口切换当前的实景ID或者当前的实景位置来切换。

 

切换时,需要先通过ID或者经纬度取得新的实景信息和缩略图,取到正确的缩略图后来通知绘制引擎有新的实景需要绘制,此时,引擎会重置显示的图片和状态,进入下一个实景展示和获取高清实景的过程。

 

我秀全景陀螺仪技术采用手机系统自带的陀螺仪运动功能,将手机陀螺仪运动参数信息实时地采集,并通过修改中间层摄像机系统参数来实时地控制实景模型,从而达到实时控制我秀全景图的目的,简单而且高效。

 

我秀中国全景在我秀地图web端(map.ishowchina.com)及我秀地图APP均可使用。同时我秀中国还提供全景FlashAPI及全景SDK,点击地图服务进入我秀中国官网可以了解更多。

 

本文作者简介:我秀中国物联网地图服务平台

 

我秀中国是一个最开放的物联网地图服务平台,以“高精度+定制+开放平台”为特征,满足汽车、智能终端、可穿戴设备、智能家居、工业设备、智能飞行器等的位置服务要求,帮助客户管理好智能设备采集的数据并与空间数据和时间相融合,以实现数据的最大价值,提升企业运营能力。

 

官网:我秀中国 www.ishowchina.com

 

合作联系:15201338330 微信 woxiuditu

 

本文为原创文章,转载请注明作者,并附带作者简介。

 

版权所有 ©北京秀友科技有限公司 

京ICP备15012051号-2

版权所有 © 北京秀友科技有限公司

京ICP备15012051号-2