使用产品:imobile10 操作系统:win10 x64 public class MainActivity extends AppCompatActivity { private MapControl m_mapcontrol=null; private Workspace m_workspace; private MapView m_mapView; private ZoomControls m_zoom; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); quanxian(); //设置一些系统需要用到的路径 String rootPath=android.os.Environment.getExternalStorageDirectory().getAbsolutePath(); com.supermap.data.Environment.setLicensePath(rootPath+"/Android/data/"); //组件功能必须在Environment初始化之后才能调用 com.supermap.data.Environment.initialization(this); //如果机器中默认不包括需要显示的字体,可以把相关字体文件放在参数所代表的路径中。 //例如,如果需要显示阿拉伯文字(若机器中原先不包括相关字体文件),可以把需要的字体文件放在参数所代表的路径中。 com.supermap.data.Environment.setFontsPath(rootPath+"/Android/data/fonts/"); setContentView(R.layout.activity_main); //打开工作空间 m_workspace=new Workspace(); WorkspaceConnectionInfo info=new WorkspaceConnectionInfo(); info.setServer(rootPath+"/Android/data/GeometryInfo/World.smwu"); info.setType(WorkspaceType.SMWU); m_workspace.open(info); //将地图显示控件和工作空间关联 m_mapView=(MapView)findViewById(R.id.Map_view); m_mapcontrol=m_mapView.getMapControl(); m_mapcontrol.getMap().setWorkspace(m_workspace); //打开工作空间中的第二幅地图 String mapName=m_workspace.getMaps().get(1); m_mapcontrol.getMap().open(mapName); m_zoom=(ZoomControls)findViewById(R.id.zoomControls1); m_mapView=(MapView)findViewById(R.id.Map_view); m_zoom.setIsZoomInEnabled(true); m_zoom.setIsZoomOutEnabled(true); //放大按钮 m_zoom.setOnZoomInClickListener(new OnClickListener() { @Override public void onClick(View v) { m_mapcontrol.getMap().zoom(2); m_mapcontrol.getMap().refresh(); } }); //缩小按钮 m_zoom.setOnZoomOutClickListener(new OnClickListener() { @Override public void onClick(View v) { m_mapcontrol.getMap().zoom(0.5); m_mapcontrol.getMap().refresh(); } }); m_mapcontrol.getMap().refresh(); } public void quanxian() { if(Build.VERSION.SDK_INT<= Build.VERSION_CODES.R|| Environment.isExternalStorageManager()){ Toast.makeText(this, "已获得访问所有文件的权限", Toast.LENGTH_SHORT).show(); Log.e("ceshi","已获得访问所有文件的权限"); } else{ AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("本程序需要您同意允许访问所有文件权限") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent intent = new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION); startActivity(intent); } }); builder.show(); } } } <!--?xml version="1.0" encoding="utf-8"?-->