首页 / 浏览问题 / 移动GIS / 问题详情
Android不加载在线地图 导入的数据不显示
45EXP 2022年07月25日
不加载在线地图影像的时候,导入的shp数据,在图层上不显示是为什么。

1个回答

您好,1.您可以参考DataConversion这个示例demo,

2.您导入数据之后确认是否添加到了图层上,是否添加为第一层图层

3.确认shp数据是否正常可见,如果确认数据有问题,您可以发送数据到1426221195@qq.com这边帮您测试一下

希望可以帮助到您。
3,690EXP 2022年07月25日
有没有可能因为我用的动态投影有关系呢
您试下不开启动态投影,加载只有一张导入的shp数据集图层的地图看下呢,确认到底是数据还是动态投影的原因
是动态投影的问题,数据没有问题的,我把这个动态投影需要改成在加载天地图经纬度影像的时候在动态投影嘛,不加载天地图的时候 默认不使用动态投影呗,但是不用动态投影的话 投影坐标系的数据不显示,经纬度坐标系的数据能正常显示。
请问您用的是哪个版本的产品呢,麻烦将您的数据以及一份能复现的demo发给我这边,如果不方便,您也可以将数据裁剪一下,这样我们能更快的解决问题呢1426221195@qq.com
用的10i 版本 那我给你发个数据把 一个投影2000的一个大地2000数据还有一个我用的工作空间文件
在线地图不能直接进行动态投影的,需要先打开在线地图,再开启动态投影,最后叠加上图层

您可以参考这段代码

            DatasourceConnectionInfo dinfo1 = new DatasourceConnectionInfo();
            dinfo1.setAlias("TianDiTu123");
            dinfo1.setEngineType(EngineType.OGC);
            dinfo1.setDriver("WMTS");
            String url1 = "http://t0.tianditu.gov.cn/img_w/wmts?&DPI=96&tk=410199522650980db3dfb843a809a2a4&topleftcornerexchange=1";
            dinfo1.setServer(url1);
            Datasource d2 = workspace.getDatasources().open(dinfo1);

            mapcontrol.getMap().getLayers().add(d2.getDatasets().get(0),true);
            CoordSysTransParameter parameter = new CoordSysTransParameter();
            parameter.fromXML(sdcard+"/SampleData/2022726/online.xml");
            mapcontrol.getMap().setDynamicPrjTransParameter(parameter);
            PrjCoordSys prjCoordSys = new PrjCoordSys();
            prjCoordSys.fromXML(sdcard+"/SampleData/2022726/online.xml");
            prjCoordSys.setType(PrjCoordSysType.PCS_SPHERE_MERCATOR);
            mapcontrol.getMap().setDynamicProjection(true,prjCoordSys);

            mapcontrol.getMap().getLayers().add(d1.getDatasets().get(0),true);

            mapcontrol.getMap().getLayers().add(workspace.getDatasources().get(0).getDatasets().get(0),true);
            mapcontrol.getMap().refresh();
            mapcontrol.getMap().setViewBounds(workspace.getDatasources().get(0).getDatasets().get(0).getBounds());
...