sceneControl.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
Layer3Ds layer3ds = sceneControl.getScene().getLayers();
// 返回给定的三维图层集合中三维图层对象的总数。
int count = layer3ds.getCount();
if (count > 0) {
for (int i = 0; i < count; i++) {
Layer3D layer = layer3ds.get(i);
// 遍历count之后,得到三维图层对象
// 返回三维图层的选择集。
if (layer == null) {
continue;
}
final Selection3D selection = layer.getSelection();
if (selection == null) {
continue;
}
if (layer.getName() == null) {
continue;
}
// 获取选择集中对象的总数
Log.i("strstr", selection.getCount() + "");
if (selection.getCount() > 0) {
// 返回选择集中指定几何对象的系统 ID
// 本地数据获取
runOnUiThread(new Runnable() {
@Override
public void run() {
queryInfoBubblePopupWindow.m_QueryInfoData.clear();
FieldInfos fieldInfos = layer.getFieldInfos();
vect(selection, layer, fieldInfos, queryInfoBubblePopupWindow);
queryInfoBubblePopupWindow.show(sceneControl, motionEvent.getX(), motionEvent.getY(),selection);
}
});
}
}
}
return false;
}
});
使用这个方法查询属性,很多时候看着点击到了管线,但是返回的selection.getCount() 是0,很难查询到属性。只有偶尔能查到属性 。这个是怎么回事?