首页 / 浏览问题 / 移动GIS / 问题详情
可以添加多个地图服务吗
65EXP 2021年01月11日
使用产品:移动端最新版Android

可以添加多个地图服务吗?比如添加一个天地图作为底图,然后再添加一个rest的在线服务在上面,(rest服务是自带没有底图的就是一些管网点线数据)这个可以添加吗?有没有什么实现方法?
问题关闭原因: 已解决

1个回答

您好,可以添加的,添加之前先确保您的在线服务地图的坐标系是一致的。然后使用数据源连接参数类DataseourceConnectionInfo打开对应的数据源datasource,然后将数据集添加到地图中以图层的方式显示在地图上就可以了
9,127EXP 2021年01月11日
//将地图显示控件和工作空间关联
        Workspace mWorkspace = new Workspace();
        mapControl = mapView.getMapControl();
        mMap = mapControl.getMap(); //获取在地图控件中显示的地图对象
        mMap.setWorkspace(mWorkspace); //设置当前地图所关联的工作空间

        //以数据源的方式打开MVT数据
        DatasourceConnectionInfo dsInfo = new DatasourceConnectionInfo();
        dsInfo.setServer("http://10.219.242.128:8090/iserver/services/map-wk2Dhefei1/rest/maps/Maphefei1");
        dsInfo.setEngineType(EngineType.Rest);
        dsInfo.setAlias("Rest1");
        Datasource ds = mWorkspace.getDatasources().open(dsInfo);
        if (ds == null) {
            return;
        }
        //地图显示范围可在iDesktop中,通过地图属性查看
        mMap.getLayers().add(ds.getDatasets().get(0), true);

        /*****/
        DatasourceConnectionInfo info = new DatasourceConnectionInfo();
        //设置数据源别名
        info.setAlias("BaiDu1");
        //设置引擎类型
        info.setEngineType(EngineType.BaiDu);
        //设置地图服务地址(对接百度地图服务时,不设置该项也可打开,若服务地址变更,可在此处设置变更后的百度地图服务地址)
        String url = "https://map.baidu.com";
        info.setServer(url);
        //打开数据源
        Datasource datasource = mWorkspace.getDatasources().open(info);
        //添加数据集到地图窗口
        mMap.getLayers().add(datasource.getDatasets().get(0), true);
        /*****/

        Point2D point2D = new Point2D(117.10912129875877, 31.78002176021997);
        Point2D point2D2 = new Point2D(117.19695885676018, 31.833207205815182);
        Rectangle2D rectangle2D = new Rectangle2D(point2D, point2D2);
        mMap.setViewBounds(new Rectangle2D(rectangle2D));//设置显示范围
        mapControl.setGestureDetector(new GestureDetector(this, gesture));
        mMap.refresh();

没用啊 这样子写会被百度地图直接覆盖掉的啊 上面的那个rest服务显示不出来

您好,您这样写百度地图是在最上面的,显示的时候会遮盖的。你那边可以调整一下图层顺序或者在添加图层的时候第二个参数设置为false,显示在最下层
这个图层是可以显示了 但是现在这个显示范围又有问题了,直接显示到非洲海洋上面了 而且刚进去是显示不出来那个百度的底图的 只显示那个rest服务 要点-号缩到一定层级才显示百度的底图 ,而且非常模糊,看不清楚,排查了不是经纬度的问题,用天地图都是一样的
你要先确保您的两个地图的坐标系保持一致,在线地图是不支持动态投影的。所以必须要保持一致才行

坐标系是一样的哦 用的是天地图 经纬度投影 http://t0.tianditu.gov.cn/vec_c/wmts?tk=您的密钥 的这个地址,rest服务也是wgs84的坐标系 设置的显示范围用的经纬度也是wgs84的 就是不行 不重合 

您好,一个是投影一个是经纬度,坐标系是不一样的,您那边可以用经纬度的天地图服务。

就这两种 我用的其中一种啊 ,没太理解您上句话的意思,您说的经纬度服务,在天地图官网上没找到在哪里有

您那边在iDesktop桌面软件打开对应的服务看下能否正常叠加
...