首页 / 浏览问题 / 移动GIS / 问题详情
移动端不能加载iServer中map-mongodb地图
6EXP 2020年11月04日

使用产品:SuperMap iMobile 10i SP1 for Android

操作系统:win7 x64

问题详细描述:使用地图服务类型为map-zzmap的url可以正常加载地图,使用地图服务类型为map-mongodb的url不能加载地图,无论使用哪个url,都可以获取到Datasource,使用浏览器在/iserver/services/map-zzmap/rest/maps和/iserver/services/map-mongodb/rest/maps的地图列表中点击“iClient for Leaflet”都可以加载地图,浏览器加载到的mongodb地图比例尺很小,我在Android端代码中已经尝试将比例尺放大了很多,但是仍然无法加载地图,请问这是什么原因导致?

Android端使用如下代码:

String DEFAULT_URL1 = "http://xx.xx.xx.xx:port/iserver/services/map-zzmap/rest/maps/basemap";

String DEFAULT_URL2 ="http://xx.xx.xx.xx:port/iserver/services/map-mongodb/rest/maps/map4490_2019";

DatasourceConnectionInfo dsInfo = new DatasourceConnectionInfo();
        dsInfo.setServer(DEFAULT_URL1);
        // dsInfo.setServer(DEFAULT_URL2);
        dsInfo.setEngineType(EngineType.Rest);
        dsInfo.setAlias(ALIAS);
        Datasource ds = workspace.getDatasources().open(dsInfo);

              ........

两个地图服务在iServer中的配置信息如下:

1个回答

您好,您看一下您在发布服务的时候输入的数据库连接参数是ip地址还是localhost呢,我这边使用官网的10.1.0正式版打开发布的mongodb服务是可以正常显示的
9,197EXP 2020年11月04日

你好,我使用的是一个外网地址,同样的IP和端口,可以正常访问zzmap地图服务。请问你使用的是我贴出的代码吗?

下图是mongodb的地图列表,其中只有image地图可以正常访问,我对比了下,只有image地图是84坐标系的。我无法访问mongodb的地图服务,这个是和地图服务的坐标系有关吗,你访问的mongodb的地图是84坐标系的吗?

如果这个问题和地图坐标系有关的话,请问Android这边要怎么操作,更改地图服务的坐标系吗?这个要怎么在Android端实现呢?谢谢

不一定是84坐标系才支持的,我使用的是2000的坐标系是可以正常查看的,您那边切的瓦片格式是矢量瓦片还是栅格瓦片呢

请问瓦片格式在哪里能查询到?是下面这个吗?

iserver那里浏览如果没有以MVT的方式来浏览,说明切的就是栅格瓦片。您那边可以重新切一下瓦片,然后在发布的时候你看一下连接mongo的时候输入的是localhost还是本机的IP地址,这里必须填ip地址,不然其他设备无法访问
您好,使用您的数据发现在移动端确实不能出图,原因是移动生成的配置文件有问题,导致不出图。我上报一个缺陷,和研发沟通一下。针对该问题还有一个解决方案是在iDesktop桌面软件中通过打开web数据源的方式打开您的地图服务,然后在桌面的缓存目录(默认目录是在安装目录\Bin\Cache\WebCache\Rest\222.143.52.40_8080\map-mongodb\darkmap4490_2019)找到生成的配置文件.sci。将该文件去替换移动设备(默认目录是在/SuperMap/data/Rest下)里面的sci文件,并且将移动端生成的缓存文件删掉,只保留替换的sci文件。
非常感谢您的解答。再请问下您说的这个bug如果修复了之后,会在哪个版本的sdk中体现呢?
修复后我到时直接私发你修改后的产品包
好的,非常感谢
...