使用产品:SuperMap iMobile 9D(2019)(V9.1.2)SuperMap iMobile 9D(2019) SP2 for Android(精简绿色包) 操作系统:win10 x64
数据类型: 文件型
问题详细描述:如题 点击二维地图的线 或者面 弹出属性信息
这个是我的数据,我通过例子里面获取的rt.getRecordCount()总是0 是什么原因
class MapGestureListener extends GestureDetector.SimpleOnGestureListener { @Override public void onLongPress(MotionEvent e) { // TODO Auto-generated method stub Recordset rt = null; // 获得第10个图层 Layer ly = m_mapControl.getMap().getLayers().get(11); rt = ly.getSelection().toRecordset(); if (rt != null) { if (rt.getRecordCount()<1) { return; } mStrCountry = rt.getFieldValue("D_S").toString(); mStrCapital = rt.getFieldValue("SMID").toString(); mStrContinent = rt.getFieldValue("DDATE").toString(); mStrPop = rt.getFieldValue("PIPETYPE").toString(); Geometry geometry = rt.getGeometry();
怎么转换LayerGroup?我用getParentGroup()这个方法获取是null
LayerGroup layerGroup = (LayerGroup) m_mapControl.getMap().getLayers().get(11);提示不能强转。 java.lang.ClassCastException: com.supermap.mapping.Layer cannot be cast to com.supermap.mapping.LayerGroup 我加载的是get(11)名字是 2D。里面见截图。我不知道到底是不是图层组 报错了 估计不是吧 你看看我的截图的数据 到底是啥。 如果不是图层组 我就这样写的:
LayerGroup ly = (LayerGroup) m_mapControl.getMap().getLayers().get(11); rt = ly.getSelection().toRecordset(); if (rt != null) { if (rt.getRecordCount()<1) { return; }
但是rt.getRecordCount()总是==0 截图里面的数据集到底怎么才能取到呢?求帮助啊
12个倒是有的 我改成第一个了
LayerGroup layerGroup = (LayerGroup) m_mapControl.getMap().getLayers().get(0); Layer ly=layerGroup.get(0); rt = ly.getSelection().toRecordset();
ly获取到了 但是
rt.getRecordCount()还是==0 是不是要用其他获取方式
我首先把PL_WS设置visible
m_layers.get("PL_WS").setVisible(true); 长按事件获取的ly.getName()是PL_WS@北大管线经纬度#1
LayerGroup layerGroup = (LayerGroup) m_mapControl.getMap().getLayers().get(0); Layer ly=layerGroup.get(1); Log.i("88---",ly.getName()); 然后rt = ly.getSelection().toRecordset();
rt.getRecordCount()还是==0
谢谢了 我试了一下其他数据 没问题 可能是数据有问题 取到值了