高德地图中隐藏Marker的标记

在开发高德地图时,可以使用Marker的setLabel()函数设置浮动标记。

做了一个功能,每选中一个点时,在上方显示文字信息。

marker.setLabel({direction:'top',offset:new AMap.Pixel(0,0),content:'<div id="activelabel">这是被选中的点</div>'});

效果如下图所示:

如果选择另一个点,需要将当前所选点的浮动标记信息去掉。如下图所示:

但是,Marker对象中只有setLabel()和getLabel()两个函数,并没有提供removeLabel()函数。

有人建议使用marker.setLabel(''), marker.setLabel('none'), marker.setLabel(null)等函数,经测试均无效。

试了一下,在setLabel()时,将content内容设置为空,如下:

marker.setLabel({direction:'top',offset:new AMap.Pixel(0,0),content:'<div id="activelabel"></div>'});

用这个方法,文字没有了,但是div的方框还在。有人将Label所在的div的边框设置为0宽度,并将div的底色设置为透明,也达到了隐藏已有的标记的效果。

但我觉得应该有更好的办法。

经分析思考,认为浮动标记无非是div标签。只要找到该标签,将其设置为不显示即可。

于是:

var active_label = document.getElementById("activelabel"); //通过名字获取自定义标签的div对象

var active_label_top = active_label.parentNode; //获取上一级div对象

active_label_top.removeChild(active_label); //删除自定义的标签

active_label_top.style.visibility='hidden'; //将Label所在标签设置为隐藏。

经测试,该方法可以隐藏已显示的Marker的浮动标签。同时,当使用setLabel()函数再次选择该点时,仍然会出现浮动标签。说明该函数重新创建了浮动标签,其visibility属性被设置为可见。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高德地图添加标记点(Marker)可以通过以下步骤实现: 1. 引入高德地图 JavaScript API 在 HTML 文件引入高德地图 JavaScript API,例如: ```html <script src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script> ``` 其 `key` 值需要替换为您自己申请的高德地图开发者 Key。 2. 创建地图容器 在 HTML 文件创建一个地图容器,例如: ```html <div id="mapContainer" style="width: 100%; height: 500px;"></div> ``` 该容器的宽度和高度可以根据实际需求进行调整。 3. 创建地图对象 在 JavaScript 创建地图对象,并将其显示在地图容器,例如: ```javascript var map = new AMap.Map('mapContainer', { center: [116.397428, 39.90923], zoom: 13 }); ``` 其 `center` 表示地图的心点坐标,`zoom` 表示地图的缩放级别。 4. 添加标记点 通过 `AMap.Marker` 类创建一个标记点对象,并设置其位置、图标等属性,例如: ```javascript var marker = new AMap.Marker({ position: [116.397428, 39.90923], icon: 'https://webapi.amap.com/images/marker_sprite.png' }); ``` 其 `position` 表示标记点的位置坐标,`icon` 表示标记点的图标。如果不设置图标,则默认使用高德地图提供的红色图钉样式。 5. 将标记点添加到地图 通过 `AMap.Map` 对象的 `add` 方法将标记点添加到地图,例如: ```javascript map.add(marker); ``` 完成以上步骤后,您就可以在高德地图看到一个带有标记点的地图了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值