SuperMap GIS基础产品移动GIS FAQ集锦(3)
【iMobile】网络分析中设置权值字段,如何添加多个权值字段?
【解决办法】通过权值字段集合类(WeightFieldInfos)设置,该类是权值字段信息对象(WeightFieldInfo)的集合,用于对权值字段信息对象进行管理。
详细代码如下:
WeightFieldInfos weightFieldInfos = new WeightFieldInfos();
WeightFieldInfo weightFieldInfolength = new WeightFieldInfo();
weightFieldInfolength.setFTWeightField(“smLength”);
weightFieldInfolength.setTFWeightField(“smLength”);
weightFieldInfolength.setName(“length”);
weightFieldInfos.add(weightFieldInfolength);
【iMobile】使用iMobile for Android如何监听地图参数变化?
【解决办法】使用MapControl类的setMapParamChangedListener(MapParameterChangedListener listener)地图参数变化监听方法,可以监听地图比例尺、角度、范围和尺寸变化
【iMobile】使用iMobile开发如何获取某个线对象的中间点坐标?
【解决办法】1.先获取该线对象的长度,geoLine.getLength()
2.通过geoLine.findPointOnLineByDistance(geoLine.getLength()/2) 获取到中间节点坐标
【iMobile】iMobile for Android如何实现加载在线地图高清显示?
【解决办法】在添加或者打开地图之前设置地图高清显示:map.setHighDefinitionMode(true)
【iMobile】iMobile for Android加载投影坐标系的天地图服务出白图,这是什么原因?
【问题原因】左上角顶点坐标错误导致的。
【解决办法】在url地址后加上参数TOPLEFTCORNEREXCHANGE=1
【iMobile】加载三维场景,能否设置某些建筑模型不可见?
【解决办法】1.需要查询出哪些id的模型不可见
2.通过Layer3DOSGBFile.setObjectsVisible(int[] ids, boolean value) 来设置指定id的模型队列是否可见。
【iMobile】加载三维场景,能否设置某些建筑模型高亮显示?
【解决办法】1.需要查询出哪些id的模型高亮显示
2.通过Layer3DOSGBFile.setObjectsColor(int[] ids, Color value) 来设置指定id的模型队列的显示颜色
【iMobile】iMobile for Android和iMobile Lite有什么区别?
【解决办法】iMobile Lite是轻量级的客户端产品,它提供在线的地图浏览、编辑、查询和分析等功能,它依赖iServer的服务。iMobile for Android功能更强大,除了在线功能之外,还提供离线地图的浏览编辑、查询和分析等功能,可搭建独立的应用系统
【iMobile】在做行业导航时,进行路径导引没有导航语音,这是什么原因?
【问题原因】缺少语音包文件
【解决办法】将Resource目录下的voice目录拷贝到工程的assets目录再编译工程,路径引导时就有语音提示了。
【iMobile】iMobile打开三维场景,选中某个模型后,如何获取该模型的属性信息?
【解决办法】通过Layer3DOSGBFile.getAllFieldValueOfLastSelectedObject() 方法获取最后一次选择的模型的所有属性信息。
【iMobile】导入dwg数据加载到地图中显示空白,这是什么原因?
【问题原因】1.数据导入失败 2.cad对象颜色为白色,地图背景色也是白色导致对象不显示
【解决办法】1.检查导入数据路径是否正确
2.设置地图背景色,map.setBackgroundStyle(GeoStyle style)
【iMobile】iMobile下载iserver发布的数据服务,目前支持下载哪些类型的数据?
【解决办法】目前仅支持下载点、线、面类型的数据
【iMobile】如何获取沙盒存储路径?
【解决办法】通过以下代码获取:
File dirpath = this.getExternalFilesDir(“”);
String fileString = dirpath + File.separator;
【iMobile】移动端如何关闭沙盒存储,还是使用之前的公共存储?
【解决办法】在AndroidManifest.xml中Application节点中设置android:requestLegacyExternalStorage=“true”
【iMobile】iMobile如何设置平面场景?
【解决办法】获取到sceneControl之前设置SceneControl.sceneType=SceneType.ST_NONEARTH;
【iMobile】如何获取到手指拾取的屏幕像素坐标?
【解决办法】mapControl.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
System.out.println(event.getX()+“=============”);
System.out.println(event.getY());
return false;
}
});
【iMobile】天地图与本地数据叠加的二维地图缩放和中心点设置不生效
【问题原因】经过动态投影之后的地图范围不再是天地图的原有范围了
【解决办法】应该获取到天地图的数据集,再获取到天地图数据集的bounds,再用map.setviewbounds设置对应的显示范围
【iMobile】开启动态投影地图浏览慢,其中影像大小超过1G
【解决办法】影像切瓦片再叠加到地图上
【iMobile】用ACTION.MOVE_GEOMETRY动作后点击CAD数据集且自定义符号的点,点不到
【问题原因】没有点击到符号中心
【解决办法】注意符号中心点位置,需要点击符号中心点位置才能识别到符号,可以用桌面符号库管理器查看符号中心点,如图,或者用mapcontrol.setSelectionTolerance(double value) 扩大选择空间对象的容限
【iMobile】移动端计算Geoline上某点的到起始点的距离
【解决办法】可以用点分割线,再获取线的长度,相关方法为geometrist.splitLine、geoline.getlength
【iMobile】移动端实现往二维地图上添加多种类型的要素点,并可以根据类型进行要素点的隐藏和显示
【解决办法】1.使用CAD图层与点符号,CAD图层支持添加点线面,图片导入工作空间符号库并给点设置为点符号可以实现图片显示,再用geostyle设置颜色,可以用四参数color的构造方法,其第四个参数为透明度范围是2-255,可以根据id设置对应要素的风格,再设置颜色与透明度
2.使用动态图层或者callout,这两个类没有隐藏方法,可以设置偏移与否实现隐藏效果
【iMobile】许可证书开发版和运行版有什么区别
【解决办法】许可分为文件许可、公有云许可、序列号许可以及私有云许可,开发许可涵盖运行许可的功能方面,能够支持全部功能,如果需要使用开发平台调试程序使用开发版本,直接运行apk则使用运行版本
【iMobile】想问下有没有异步加载地图的接口,我因为页面里面东西比较多,再去加载地图,会很卡
【解决办法】暂时没有专门异步加载地图的接口,但是可以用java.lang.Object.wait/notify方法实现
【iMobiel】栅格查询功能怎么实现
【解决办法】用datasetgrid.getValue(int x, int y) 根据给定的行数和列数返回栅格数据集的栅格所对应的栅格值,其中xy值通过屏幕点击监听事件获取,可以实现交互查询