首页 / 浏览问题 / 移动GIS / 问题详情
二维地图缩放和中心点设置
25EXP 2023年05月11日
开启动态投影,加载天地图和二维地图,地图居中显示,特别小。

通过viewEntire设置无效是什么原因呢?

1个回答

您好,请问使用viewEntire的对象是不是天地图呢,因为是开启了动态投影而且有在线数据,且在线数据不可动态投影,故动态投影的操作对象是本地数据,应该取到天地图的图层再用viewEntire哈
3,685EXP 2023年05月11日
我是添加完了之后直接设置的 m_mapControl.getMap().viewEntire();

viewEntire的操作对象不是map吗?  怎么对图层使用viewEntire?

说错了该用map.setviewbounds,我的这个意思是对先根据天地图图层获取到数据集,再用dataset.getbounds获取到天地图的范围,再用map.setViewBounds(bounds),如果还是不行,可以用参数化动态投影方法,

在移动端先添加天地图到地图,再开启动态投影,动态投影设置方法如下

CoordSysTransParameter parameter = new CoordSysTransParameter();
parameter.fromXML(sdcard+"/XXX.xml");//这里是从xml文件读取坐标系,可以用桌面导出投影坐标系转换参数
mapcontrol.getMap().setDynamicPrjTransParameter(parameter);
PrjCoordSys prjCoordSys = new PrjCoordSys();
prjCoordSys.fromXML(sdcard+"/XXX.xml");//这里是获取目标投影坐标系,可以从数据集获取,即用dataset.getPrjCoorSys方法
prjCoordSys.setType(PrjCoordSysType.PCS_SPHERE_MERCATOR);//定义了投影坐标系类型常量,此处为墨卡托
mapcontrol.getMap().setDynamicProjection(true,prjCoordSys);先根据配置文件导入投影参数与投影坐标系,再设置投影坐标系的类型为PCS_SPHERE_MERCATOR即墨卡托投影,最后开启动态投影并设置投影坐标系;使用时如果app还是显示此级别下无数据请缩放后重试,请去设备根目录SuperMap\data\WMTS下面删除旧的缓存,再次打开app即可查看到正常天地图

...