首页 / 浏览问题 / 移动GIS / 问题详情
imobile中三维场景KML layer子元素的点击事件怎么监听?
6EXP 2023年02月21日

这样添加的点标注怎么监听点击事件呢?监听后怎么获取自定义description?

geoPoint3D.style3D = GeoStyle3D().apply {
    markerFile = file.absolutePath
    setMarkerAnchorPoint(Point2D(0.5, 0.0))
}
val featurePoint3D = Feature3D()
featurePoint3D.geometry = geoPoint3D
featurePoint3D.description = feature.properties.adcode.toString()

feature3Ds.add(featurePoint3D)
feature3Ds.toKMLFile(filePath)

scene.layers.addLayerWith(filePath,Layer3DType.KML,true,"point3D")

问题关闭原因: 未解决

1个回答

您好,如果点击的目标点高度为0,可以给sceneview添加长按手势监听,获取到当前点击的屏幕位置转为场景坐标,再根据点击点的坐标构造一georegion,再用geometrist里面的几何对象包含查询方法循环查询georegion与kml图层中的feature,返回true时所获得feature即为需要的

如果查询目标点高度不为0,则没有办法点击查询
3,745EXP 2023年02月21日

代码画的circle是在图上红圈,渲染的geopoint位置是在右上,该怎么调geopoint渲染的位置和点击判断画的circle一样

如果是红圈范围不够大,没有包含到右上点,建议放大地图再点击或者适当调大circle的半径
...