vue+mars3d展示轨迹,并加起点和终点图标

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])

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值