百度地图API自定义覆盖物渲染

本文记录了在vue项目中利用百度地图API进行自定义覆盖物渲染的过程,内容包括从官方DEMO获取灵感并解决层级和其它难题的经验分享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记一下自定义覆盖物渲染代码,部分代码是抄官方demo的作业

/** 
* 环境 vue2.x + webpack
*/
// 先整个js类,继承百度MAP的Overlay
export default class CustomizedOverlay extends BMap.Overlay{
    constructor(point, self, data) {
      super();
      this._point = point;
      this._self = self;
      this._data = data;
    }
    initialize(map) {
      // 这里自定义覆盖物,想画个啥就画个啥,整个canvas也不是不可以
      const template = `<div class="name">${this._data.name}</div>`;
      let target = this._div = document.createElement("div");
      target.innerHTML = template;
      // demo里这里给的是map.getPanes().LabelPane.appendChild(target),我这边没用到label这个覆盖物,想来还是放在map上最稳妥,就放map上了
      map.getPanes().mapPane.appendChild(target)
      return target;
    }

    draw() {
      let map = this._self.map;
      let pixel = map.pointToOverlayPixel(this._point);
      this._div.style.left = pixel.x - 11 + "px
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值