vue中使用高德地图marker标记点的setLabel,在不同层级下控制显示隐藏

vue中使用高德地图marker标记点的setLabel,在不同层级下控制显示隐藏

设置点标注的文本标签

marker.setLabel({
  offset: new AMap.Pixel(1, 0), //设置文本标注偏移量
  content: '<div>' + name + '</div>', //设置文本标注内容
  direction: 'top', //设置文本标注方位
});

监听地图层级变化

let _this = this;
var logMapChange = function () {
  var mapZoom = _this.map.getZoom(); //获取当前地图级别
  if (mapZoom < 15) {
    _this.hideMarkerLabel(marker);
  } else {
    _this.showMarkerLabel(marker);
  }
};
_this.map.on('zoomchange', logMapChange); //监听

标签显示

在这里插入图片描述

showMarkerLabel(marker) {
	marker.setLabel({
		offset: new AMap.Pixel(1, 0), //设置文本标注偏移量
		content: '<div>' + marker._originOpts.title + '</div>', //设置文本标注内容
		direction: 'top', //设置文本标注方位
	});
}

标签隐藏

在这里插入图片描述

hideMarkerLabel(marker) {
  marker.setLabel({
    offset: new AMap.Pixel(1, 0), //设置文本标注偏移量
    content: '',
    direction: 'top', //设置文本标注方位
  });
}

标签样式外部写入

.amap-marker-label {
  padding: 2px 6px;
  border-radius: 5px;
  box-shadow: 0 2px 6px 0 rgba(114, 124, 245, 0.5);
  text-align: center;
  font-size: 14px;
  border: 0;
}

第二种方法

也可以在content: '< div />'里写入style,动态传参绑定display属性的’none’和’null’值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值