解决思路:获取点击区域的cartesian3(笛卡尔空间坐标),然后将其坐标赋给需要div的矢量数据
// step1 添加一条管线
const pipeLineLayer = new mars3d.layer.TilesetLayer({
name: '一条管线',
url: '一条管线的url'
})
map.addLayer(pipeLineLayer)
// step2 监听管线点击事件
pipeLineLayer.on(mars3d.EventType.click, e => {
// step3 你可能需要获取到usID
const usId = e.pickObject.getProperty('gw_id')
// 获取到点击区域的笛卡尔空间坐标
const cartesian3 = e.cartesian
// step4 弹框
const divGraphic = new mars3d.graphic.DivGraphic({
pointerEvents: true,
position: cartesian3, // 赋值
style: {
.....
}
})
})