export function loadTraject(list: any) {
if (graphicLayer) {
graphicLayer.clear()
const firstPoint = list[0]
const lastPoint = list[list.length-1]
const firstGraphic = new mars3d.graphic.BillboardEntity({
position: new mars3d.LngLatPoint(firstPoint[0], firstPoint[1]),
style: {
image: "image/map/icon/qd.png",
scale: 0.75,
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
clampToGround: true,
highlight: {
scale: 1
}
}
})
graphicLayer.addGraphic(firstGraphic)
const lastGraphic = new mars3d.graphic.BillboardEntity({
position: new mars3d.LngLatPoint(lastPoint[0], lastPoint[1]),
style: {
image: "image/map/icon/zd.png",
scale: 0.75,
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
clampToGround: true,
highlight: {
scale: 1
}
}
})
graphicLayer.addGraphic(lastGraphic)
const lineGraphic = new mars3d.graphic.PolylineEntity({
positions: list,
style: {
width: 6,
color: "#3388ff",
highlight: {
color: "#ff0000"
}
},
flyTo: true,
flyToOptions: {
scale: 1.5
}
})
graphicLayer.addGraphic(lineGraphic)
}
}
要求list格式:
list= [
[116.202342, 25.201234], [116.252342, 25.211234], [116.258342, 25.216234],
[116.262342, 25.208234], [116.2692342, 25.228234], [116.272342, 25.2311234]
]
如果list不是上面的格式,而是下面的json数组,就是多一步替换。
const mapData = [{"longitude":115.36,"latitude":26.330000000000002,"time":"2024-04-23 14:53:12"},{"longitude":115.46,"latitude":26.430000000000003,"time":"2024-04-23 14:53:12"},{"longitude":115.55999999999999,"latitude":26.530000000000005,"time":"2024-04-23 14:53:12"}]
替换代码:
const mapData = JSON.parse(mapData) //如果mapData不是数组就需要再多这步
const traject = mapData.map(item => [item.longitude, item.latitude, item.time])