弹出框:popup

一,功能简介:popup跟随车辆在地图上移动,同时popup的内容显示车的经纬度和速度,以及行驶里程

二,核心代码如下:

    showTraceClick() {
      if (this.animatedMarker) {
        this.map.removeLayer(this.animatedMarker);
      }
      var carIcon = L.icon({
        iconUrl: car,
        iconSize: [20, 15],
        iconAnchor: [19, 13],
      });
      // this.Marker = L.marker(this.latlngs[0], {
      //   icon: carIcon,
      // }).addTo(this.map);
      this.animatedMarker = L.animatedMarker(
        { lat: this.latlngs[0][0], lng: this.latlngs[0][1] },
        {
          icon: carIcon,
        }
      ).addTo(this.map);

      var popup = L.popup({ autoPan: false }).setLatLng(this.latlngs[0]);
      this.animatedMarker.bindPopup(popup).openPopup();
      this.timer = setInterval(() => {
        this.i += 1;
        // this.Marker.setLatLng(this.latlngs[i]);
        this.animatedMarker.pushPosition(
          { lat: this.latlngs[this.i][0], lng: this.latlngs[this.i][1] },
          null
        );
        var popupContent = `<br>纬度:${this.latlngs[this.i][0].toFixed(
          3
        )},经度:${this.latlngs[this.i][1].toFixed(
          3
        )}</br><br>速度:${this.speedList[this.i].toFixed(
          1
        )},里程:${this.mileageList[this.i].toFixed(1)}</br>`;
        // popup.setLatLng(this.latlngs[this.i]);
        popup.setContent(popupContent);
        if (this.i == this.latlngs.length - 1) {
          clearInterval(this.timer);
        }
      }, this.time);
    },

三,效果截图

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值