SuperMap GIS基础产品移动GIS FAQ集锦(4)

SuperMap GIS基础产品移动GIS FAQ集锦(4)

【iMobile】【11.1.0】iMobile如何通过EPSGCode构建坐标系?

【解决办法】通过PrjCoordSys的构造方法创建,例如创建EPSGCode为4326的坐标系:PrjCoordSys prjCoordSys = new PrjCoordSys(4326)

【iMobile】【11.1.0】iMobile如何查询某个数据集是否含有某字段?

【解决办法】通过FieldInfos.contains(String name)方法查询某字段是否存在。

【iMobile】iMobile如何获取设备ID来申请许可?

【解决办法】通过environment.getDeviceID()获取设备ID,获取时需要注意:1.设备的wifi权限须打开;2.targetSDKVersion版本不高于28.

【iMobile】清空并释放动态图层后,缩放地图app会发生崩溃,这是什么原因?

【问题原因】动态图层释放掉,但是并没有从MapView中移除

【解决办法】释放后需要将动态图层移除:MapView.removeAllDynamicView() ;

【iMobile】CAD数据集中文本不显示,文字颜色为黑色,地图背景色为白色。该如何解决?

【解决办法】设置CAD文本按照POI模式绘制:map.setDrawCADTextAsPOI(true)

【iMobile】【11.1.0】加载在线地图服务,文本注记显示模糊,该如何解决?

【解决办法】1.如果发布的是地图瓦片,可以在生成缓存时压缩率参数设置为90,DPI设置高一点,比如DPI=200,然后再去移动端加载。2.如果是发布的原始工作空间数据,可以通过设置以下两个方法:mMapControl.getMap().setHighDefinitionMode(true);
mMapControl.getMap().setHighDefinitionScale(0.5f)

【iMobile】地图、地图控件和工作空间该如何关闭?关闭的顺序是怎样的?

【解决办法】1.关闭Map对象 2.关闭MapControl对象 3.关闭Workspace对象

【iMobile】跟踪图层添加点对象后如何实现点击事件?

【解决办法】通过MapControl.setGestureDetector(android.view.GestureDetector gsDetector) 设置手势识别器,在监听事件中通过TrackingLayer.hitTest()方法获取满足条件的对象ID。

【iMobile】iMobile如何另存工作空间?

【解决办法】通过Workspace获取工作空间连接信息WorkspaceConnectionInfo,然后设置工作空间类型和工作空间路径,使用Workspace.save()方法另存。

【iMobile】保存工作空间后抛异常,这是什么原因?

【问题原因】1.当前工作空间对象已经释放; 2.工作空间是新建的,没有指定保存路径; 3.指定保存文件所在目录不存在,将自动创建目录,但创建失败; 4.指定了保存文件的路径,但文件后缀名不是有效的工作空间类型,且没有指定工作空间类型;

【解决办法】通过以上问题原因排查。

【iMobile】在地图上绘制一条线后,想要修改某个节点,该如何操作?

【解决办法】1.设置该图层可编辑和可选择 2.设置对象操作类型为可选择 3.设置对象操作类型为编辑节点 4.编辑完后通过mapControl.submit()方法提交编辑成果。

【iMobile】移动端如何导入kml文件?

【解决办法】可以通过DataConversion.importKML()导入kml文件。

【iMobile】移动端如何获取手指点击的地图坐标?

【解决办法】通过点击事件获取手指点击的像素坐标Point,然后通过map.pixelToMap(Point point)方法将像素点坐标转换为地图坐标。
【iMobile】通过构造几何对象的方法在地图中绘制一个圆对象,设置的半径明明很小,但是在地图上显示很大,这是什么原因?

【解决办法】这是由于地图坐标系为地理坐标系,而几何对象设置的大小是没有单位可言,设置的数字单位是根据地图坐标系来定的。如果地图坐标系单位为度,那么设置的半径单位也为度,需要将度转换为米后的数值设置为该几何对象的半径。

【iMobile】加载xyz类型的服务EngineType应该如何设置?

【解决办法】定义数据源连接信息时设置数据源连接的引擎类型:DatasourceConnectionInfo.setEngineType(EngineType.XYZTILE)
【iMobile】这是投影坐标系下的坐标点如何转为经纬度的?

【解决办法】CoordSysTranslator.convert(points, new PrjCoordSys(3857), new PrjCoordSys(4326), new CoordSysTransParameter(), CoordSysTransMethod.China_2D_4P);

【iMobile】用geometrist.splitLine分割线的结果依然是一根线

【问题原因】点到线的垂足距离大于该容限值,则认为用于打断的点对象无效,从而不执行打断

【解决办法】设置容限值小于点到线的垂足距离

【iMobile】geoline.getlength方法获取线的长度特别短

【问题原因】geoline.getlength方法是用于返回线几何对象的长度的,其值为各个子对象长度之和

【解决办法】使用geometrist. computeGeodesicLength(Geometry geometry, PrjCoordSys prjCoordSys),该方法用于计算坐标系中对象的长度

【iMobile】编辑并添加对象到数据集中再保存数据崩溃

【问题原因】数据处理逻辑顺序不正确

【解决办法】先关闭记录集再关闭数据集

【iMobile】computeGeodesicDistance方法参数如何获得majorAxis和flatten

【解决办法】该方法中的majorAxis和flatten都是地理坐标系中的参数,可以用GeoSpheroid地球椭球体参数类获取,而该对象用GeoDatum对象的getGeoSpheroid()方法获取,同理GeoDatum从GeoCoordSys地理坐标系对象中用getGeoDatum()方法获取,最后则是从PrjCoordSys即投影坐标系对象中用getGeoCoordSys()返回投影坐标系的地理坐标系统对象。这个投影坐标系对象可以从地图或者数据集中获取的

【iMobile】轨迹记录功能运行崩溃,轨迹记录设置GPS数据提示:GeoPoint 不能转为 GeoLine

【问题原因】使用的抓路数据集中含有点,导致开启抓路后,用geoline接收geopoint时抛异常

【解决办法】删除设置的抓路数据源中的非线数据集

猜你喜欢

转载自blog.csdn.net/supermapsupport/article/details/131823738
今日推荐