我的地图使用的在线天地图,然后根据一些经纬度集合在跟踪层添加了一些面对象,设置
Action.SELECT后选择添加的面对象,没有反应,请问这是什么原因?
跟踪层添加面对象:
m_mapControl.getMap().getTrackingLayer().add(geoRegion, "geoRegion"); m_mapControl.getMap().refresh();
选择模式:
m_mapControl.setAction(Action.SELECT);
好的,谢谢,这个问题已经解决。
再就是,我向跟踪图层创建新的字段,然后根据id往这个字段设置值,不成功,请问一下这是什么原因?
//向当前跟踪图层中创建字段类型为String型的用户字段信息。 m_mapControl.getMap().getTrackingLayer().createUserFieldString( "geoInfo", 10, 0);
这里返回的值表示创建成功了.
//向当前跟踪图层中添加一个几何对象
int id = m_mapControl.getMap().getTrackingLayer().add(geoRegion, "geoRegion_" + feature.id);
//设置此跟踪图层指定记录的指定字段的String类型的值
m_mapControl.getMap().getTrackingLayer().setFieldStringEx( "geoInfo", "geoInfo_" + id, id)
这里返回false,显示设置字段值失败
测试可以正常添加呢,您那边看下跟踪图层的几何对象是否添加成功。
m_Map.getTrackingLayer().createUserFieldString("tets",10,0); int ttt = m_Map.getTrackingLayer().add(geoRegion, "ttt"); boolean b = m_Map.getTrackingLayer().setFieldStringEx("tets", "ssss", ttt); Log.i("============",m_Map.getTrackingLayer().getFieldString(ttt,"tets"));
跟踪图层的几何对象肯定是添加成功了,是否是我这边实时渲染的作用?
我为了性能考虑,在添加对象之前关闭了实时渲染
//设置实时渲染
m_mapControl.getMap().getTrackingLayer().setAsyncRefresh(false);
在对象添加完成后,批量刷新
//对跟踪图层进行批量更新。 m_mapControl.getMap().getTrackingLayer().flushBulkEdit();