安卓端使用git上的Demo无法完整加载地图问题

0 投票
440 浏览

                     图1

                    图2

您好,我这边在移动端安卓开发遇到一个问题在使用git上的车辆监控报警(https://github.com/SuperMap/iMobile_VehicleMonitor_Android/)Demo的时候替换了数据源后无法正常完整显示地图如图2(地图源无问题在直接显示的Demo中已经做过验证如图1),感觉图层会有缺失,地图数据为.smwu 点线2D矢量图。

最新提问 8月 18, 2017 分类:  440次浏览 | 用户: ljx550429 (5 分)

1个回答

0 投票
您好,范例中的数据是放在工程中,然后将这个工作空间复制到移动设备上并对zip包进行解压,如果你替换了数据,要相应的修改工作空间名称或者路径名称,否则无法将assets中的zip解压到移动设备中,请仔细看范例代码中怎么将assets中的zip包复制到移动设备并解压的,替换数据后,如果路径不变,请把原来的复制过的数据删除。
最新回答 8月 18, 2017 用户: 王国新 名扬四海 (1,878 分)
你好。。数据的路径我全部都做了修改了,并且成功解压~~不然也不可能出现部分“不完整”的地图。

一共修改了3处:

1处是StartupActivity 中的    private final String WorksapceName = /*"carsmonitor.sxwu";*/"mljc.smwu";           // 车辆监控的地图工作空间文件名

2,DefaultDataConfiguration中的

    boolean isWorkspaceFileExists = FileManager.getInstance().isFileExist(MapDataPath + /*"carsmonitor.sxwu"*/"mljc.smwu");

3,将MyApplication中工作空间模式修改为对应SMWU的类型

WorkspaceType type = /*(server.endsWith("SMWU")||server.endsWith("smwu"))?WorkspaceType.SMWU:WorkspaceType.SXWU;*/WorkspaceType.SMWU;
我这边替换数据测试没有问题,可能是移动设备的渲染问题,关闭OpenGL地图渲染模式,即environment.setopenglmode(false),如果还是不行,换一个移动设备测试是否还有该问题。
另外将这个解压后的数据拷贝到Windows上,然后用idesktop打开看是否显示正常。
已经和同事确认过了,数据在idestktop上是先打开过才发给我的,environment.setopenglmode(false)这个也试验过了,我目前怀疑是不是我这边的数据缺少部分数据集引起的
请问下有什么工具或者方式可以比较2张地图数据集的属性不同么
你同事打开的是打包前的工作空间,不是代码运行后下载在移动设备中的,移动端中加载的是解压后下载在移动设备的数据,所以还需要打开解压后的数据,另外在idesktop中可以查看地图的属性信息。
好的我试试~~麻烦您了

通过比较解压前和加载图片后发现一个问题加载后出现

但是这个Temp在我手机中显示的大小为0KB如下图

那可能数据没有下载完或者解压完,如果替换数据容易出错,有一个简单的办法,不要要改代码,替换的数据的工作空间名也叫示例数据工作空间名,且工作空间有保存好的地图,但是注意(1)压缩包的级别和原来一样;(2)存放在assets文件中的路径要一致;(3)试用许可替换后文件名要和代码中的许可文件名一致;(4)替换数据后将原来设备上的下载目录下的文件都删除,让它重新下载解压。
...