我是添加完了之后直接设置的 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即可查看到正常天地图