首页 / 浏览问题 / 移动GIS / 问题详情
使用imobile10打开示例数据但是不显示
2EXP 2024年03月20日

使用产品: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"?-->

1个回答

您好,如果是打开数据不显示建议从以下几个方面去排查,1.确认打开的数据是不是正常的,怎么检查数据是不是正常的,比如数据拷贝到电脑上用iDesktop打开是否正常是否能看到数据如果看不到那么可以判断数据出现了问题出现这种情况就需要换一份可打开的数据.2.打开的是什么数据如果是三维切片缓存注意纹理压缩格式是不是手机支持的纹理压缩格式比如webp ktx2.0是手机支持的纹理压缩格式 如果是二维数据在电脑上打开正常显示而在手机上打开不显示那么需要根据具体的数据来看 如果是在线地图那么看下数据源是否打开打开的数据源中是否有数据集3.确认数据格式是否拷贝正确这方面建议了解下supermap产品体系中工作空间的文件结构是不是只拷贝了工作空间文件而数据源文件没有拷贝进来或者是不是拷贝数据的文件结构发生了改变因为工作空间文件中记录着数据源的位置而且是已相对目录的形式记录的如果数据源与工作空间的相对路径改变了那么打开看不到数据的3.确认是否真的打开了工作空间的地图请给出确切的信息建议在断点中查看打开地图方法是否成功执行并返回打开的结果
3,685EXP 2024年03月20日
...