首页 / 浏览问题 / 移动GIS / 问题详情
iMobile中使用在iserver制作的百度离线地图, 会出现边缘区域空白格
12EXP 2020年02月26日

使用产品:iserver 10  操作系统:win10

使用产品:imobile10  操作系统:Android9

离线数据格式: smtiles, mtiles 都测试过, 存在上诉问题

 workspace = new Workspace();
//        workspace.open(info);
        mapControl.getMap().setWorkspace(workspace);

        DatasourceConnectionInfo datasourceConnectionInfo = new DatasourceConnectionInfo();
        datasourceConnectionInfo.setServer(RootPath + "/SuperMap/data/normal_-1107073655_256X256_PNG.smtiles");
        datasourceConnectionInfo.setEngineType(EngineType.BaiDu);

        // 打开数据源
        Datasource datasource = workspace.getDatasources().open(datasourceConnectionInfo);
        if (datasource == null) {
            System.out.println("打开数据源失败");
            return;
        } else {
            System.out.println("数据源打开成功!");
        }

//        String mapname = workspace.getMaps().get(0);
        mapControl.getMap().getLayers().add(datasource.getDatasets().get(0), true);
//        mapControl.getMap().open(mapname);
        lablelayer = mapControl.getMap().getLayers().get(0);
        mapControl.getMap().viewEntire();

1个回答

您好,请问一下在那一级比例尺下,出现空白的区域有缓存吗?使用离线地图需要在那个区域,比例尺下有缓存才行。iMobile for Android提供了在线的百度地图接口,请问一下你用离线地图的加载方式是有什么需求吗
9,127EXP 2020年02月26日
一级不会出现, 缓存是指iserver切图设置的吗, 我好像设置过, 具体多少忘记了;

需求是需要在离线情况下使用的
是缓存问题的话, 不应该是全白吗, 部分空白有点说不通, 我打开网络后, 不会出现这个空白区域问题
...........

lllllll

您好,请我一下你这个数据是如何制作的呢?缓存都是需要先浏览,然后把瓦片缓存到缓存目录下方,百度地图的离线包肯定是很大的,如果你要使用离线的,建议去网上下载离线地图或者把你需要的区域浏览缓存下来(推荐第一种,下载离线地图包)

iserver 分布式切图制作的

整个文件大概有3.9g
网上下载离线地图有方式吗
您好,您这个切图方式是否能下载完全得看是否能够请求到那一级的地图瓦片。您可以直接在iserver发布你的这个SMTiles文件,在iserver上浏览地图看是否有瓦片缺少的情况。离线地图下载可以在网上搜索一下,我们不提供数据的

空白区域小比例尺下是全白的, 往上所缩小地图还是能看到空白区域不确定是不是因为瓦片比例尺和mapview比例尺不对应的问题导致的

在pc端浏览发现, 间隔瓦片会出现全白现象
比例尺该如何适配地图呢

比例尺参考

还有个问题, iserver 切图服务的 切图范围的参数是矩形对角线两顶点坐标(单位m)吗

这个值能在imobile for Android 上获取吗
还有一个问题 imobile for RN 的开发文档在哪里呢 , 我找不到
切图范围参数你可以在iMobile for Android里面绘制矩形框,然后获取矩形框的坐标点来作为iserver切图的范围参数
矩形四个点, 那几个点, 什么单位, 有什么要求, 自己填一直不合法
切图范围上面说明老师左下角和右上角的两个点,单位是跟你的数据的坐标系的单位保持一致,不然会找不到数据的
默认(-20037508.3427892, -20037508.3427892, 20037508.3427892, 20037508.3427892)应该是墨卡托坐标系, 单位是米, 自己填经纬度?, 我两种单位都试了还不行
 

自己填的(12396251.499176, 2903358.1432362, 12968611.9669759, 2492424.5070760)

自己填的(111 .3574218750, 25 .2246093750, 116 .4990234375, 21 .8408203125)
你好,iserver全幅范围,是左下右上来填写的,所以我看你应该将第二,四位置换一下
取左下, 右上两个点的, 经纬度?

(x1, y1, x2, y2) 这样吗
对,但是不一定是经纬度,看你地图什么坐标系。你可以先去地图服务里面看看地图信息,里面有左下角和右上角的坐标。你再看看分布式切图里面默认的就是对应的

这种怎么取

你地图是经纬度坐标系吗?因为不知道你这个是怎么获取的。不过应该(111,21,116,25)这样
(左下x, 右上y, 右上x, 左下y) 这样的吗
缓存范围单位是跟地址地图坐标系相关的是吗

我按照你的来, 根据地图给的默认值输入值还是不行
12396251,12968611,2903358,2492424

你的地图信息截图发一下呢
这个怎么看
百度地图的

是这个吧

那你就输入(-20037508,-20037508,20037508,20037508)
我想只要一定范围的如何操作呢
你最开始输入12396251,12968611,2903358,2492424的时候,你左下角的点的值应该是小于右上角的点的值,所以2903358,2492424,12396251,12968611
嗯嗯, 现在可以制作了

我有点糊了
我开先经纬度是 左下(111.3574218750,25.2246093750), 右上(116.4990234375,21.8408203125)

换上成墨卡托 左下(12396251.49917,2903358.143236), 右上(12968611.966975,2492424.50707)

缓存范围是 (四个参数分别代表的是什么呢)
左下, 右上 分别代表什么意思
你看你的左下角的值比右上角的值还高,所以会提示失败
地图还是会出现空白区域, 控制台也没什么异常信息, Android有什么好方式调试吗
地图出现空白区域, 有可能是哪几种原因呢
出现空白区域的原因:数据本身在那个区域那个比例尺下没有瓦片。您可以加一下我的联系方式,已经私信您了。
...