@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); //更改顶部状态栏颜色
requestPermissions();
MapControl mapControl = null;
String rootPath = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();
//设置许可文件路径(默认路径“/SuperMap/license/”)
Environment.setLicensePath(rootPath + "/SuperMap/license10i/");
//组件功能必须在Environment初始化之后才能调用
Environment.initialization(this);
setContentView(R.layout.activity_map);
//打开工作空间
Workspace m_workspace = new Workspace();
WorkspaceConnectionInfo info = new WorkspaceConnectionInfo();
info.setServer(rootPath + "/SuperMap/GeometryInfo/YangtzeU.smwu");
info.setType(WorkspaceType.SMWU);
m_workspace.open(info);
//将地图显示控件和工作空间关联
MapView m_mapView = findViewById(R.id.Map_view);
mapControl = m_mapView.getMapControl();
mapControl.getMap().setWorkspace(m_workspace);
MapControl mapControl2 = mapControl;
//打开工作空间中的第一幅地图
String mapName = m_workspace.getMaps().get(0);
String mapName2 = m_workspace.getMaps().get(1); //打开第二幅地图
mapControl.getMap().open(mapName);
mapControl.getMap().refresh();
Button bycle = findViewById(R.id.bycle_button);
//MapControl finalMapControl = mapControl;
//MapControl finalMapControl1 = mapControl;
bycle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mapControl2.getMap().open(mapName2);
mapControl2.getMap().refresh();
//openMap(); //切换到第二幅地图
}
});
}
以上是我代码的一部分
现在的问题是可以在手机端已经可以打开第一幅地图,但是点击button切换到同一文件中的第二幅地图时,会先显示第二幅地图,然后闪退重新加载整个app
此外,一个文件中有多幅地图,如何获得指定地图中的图层