首页 / 浏览问题 / 移动GIS / 问题详情
map重新设置坐标系后加载不出来
3EXP 2019年05月05日

使用产品:supermap-imobile-9.1.1-168-android-zip-chs

Demo : GPS式几何对象采集(Collector)

背景:在使用此Demo时,发现只能设置投影坐标系,想设置地理坐标系,遂在地图初始化完成后加入以下代码

 private void openCollectorUDB() {
        /*原代码没动*/
        //新增代码,修改坐标系
        PrjCoordSys prjCoordSys1 = new PrjCoordSys(PrjCoordSysType.PCS_EARTH_LONGITUDE_LATITUDE);
        GeoCoordSys geoCoordSys1 = new GeoCoordSys(GeoCoordSysType.GCS_WGS_1984, GeoSpatialRefType.SPATIALREF_EARTH_LONGITUDE_LATITUDE);
        prjCoordSys1.setGeoCoordSys(geoCoordSys1);
        mMap.setPrjCoordSys(prjCoordSys1);
}

并且新增点击事件

        } else if (i == R.id.btnControlZoomIn) {
            mMap.zoom(2);
            mMap.refresh();
        } else if (i == R.id.btnControlZoomOut) {
            mMap.zoom(0.5);
            mMap.refresh();
        } else if (i == R.id.btnControlViewEntire) {
            mMap.viewEntire();
            mMap.refresh();
        }

结果:

刚打开界面时

但是一旦触摸地图,或者点击定位按钮,就成了下面的样子

此后再进行触摸操作,地图全黑或者全白或者全蓝,无法正常显示。

同时,点击放大、缩小和全幅显示,显示错乱,无规可循。

请问:

1.当前地图的坐标系是否可以在移动端修改,以支持另一种坐标系的坐标点?如何可有修改,能否给一个范例?

2.地图显示错乱问题如何修复?

1个回答

你好,一般不建议你这样修改坐标系,如果你是想做定位采集,采集的坐标系是经纬度下的坐标值,和原始地图坐标不符合,可以转换采集的坐标点的坐标系,将其转换为底图坐标系下的点坐标
9,197EXP 2019年05月05日
您的意思是每个地图都有一个提前设置好的坐标系(就是您说的底图坐标系?)是么?跟地图有关的操作都要按照这个坐标系来?

如果我实在是想修改一下坐标系,如何修改呢?
每个地图在制作的时候都需要有个坐标系,如果你想改坐标系,可以通过坐标系转换将数据集的坐标系修改并重新制图或者用你上面的办法修改地图的坐标系,这种方式只是修改了地图的坐标系并没有修改数据集的,只是将数据动态投影到地图坐标系中
刚才试了一下,直接放入一个目标坐标系的数据集是好用的

然后我尝试将原数据集进行坐标系转换,但是原数据集是影像数据集,没有找到相关转换方法的代码

可否提供一下影像数据集的坐标系转换代码?
你好,目前移动端是没有对影像数据集进行坐标转换的功能,可以通过配准的方式进行坐标的改变。我想问一下你具体的需求是什么啊?如果是定位的话就按照我上面跟你说转换定位点的坐标而不是改变原始数据的坐标系
嗯 谢了  我现在是先做一下预研~  尽可能多的找到解决方案~
...