微信小程序中Map组件Marker中把Label文字信息通过按钮显示或隐藏

wxml页面按钮

<button bindtap="toggleLabel">Toggle Label</button>

js

data:{
   
   
	labelMarkerId: null  // 记录当前显示文本的标记的 id
},
//按钮切换显示
toggleLabel() {
   
   
  // 判断当前是否有显示的文本标记
  if (this.data.labelMarkerId !== null) {
   
   
    // 如果有,移除文本标记
    this.removeLabel();
  } else {
   
   
    let res = {
   
   
      latitude: this.data.lat,
      longitude: this.data.lng
    }
    this.getBallCourtInfoByPoint(res)
  }
},
//删除标注的字体
removeLabel() {
   
   
  
### 关于微信小程序地图组件的使用方法 #### map 组件基础认识 在微信小程序开发过程中,`map` 地图组件是一个强大而灵活的地图工具。此组件不仅能够展示静态地图,还支持动态交互操作,比如添加标记点、绘制路径以及实时定位等功能[^1]。 #### JSON 文件配置 为了能够在项目里正常使用 `map` 组件,在页面对应的 `.json` 配置文件内需声明该组件的引用: ```json { "usingComponents": { "map": "/miniprogram_npm/@miniprogram-component/map/map" } } ``` 这段代码指定了 `map` 组件的具体位置,确保其可以被当前页面所调用[^2]。 #### HTML 结构定义 接着是在 WXML 页面布局文件中加入 `<map>` 标签来创建实际的地图视图区域,并设置样式属性使其适应屏幕尺寸: ```html <!-- 地图组件 --> <map id="myMap" style="width:100vw;height:100vh;z-index:1;" markers="{{markers}}"></map> ``` 这里通过绑定数据模型中的 `markers` 属性传递给地图控件,从而实现自定义标注的功能[^3]。 #### JavaScript 数据处理 最后一步就是在 JS 脚本部分准备相应的逻辑函数和事件监听机制。例如当用户拖拽地图时触发特定行为: ```javascript Page({ data: { latitude: '', // 初始纬度坐标 longitude: '' // 初始经度坐标 }, onLoad() { const that = this; wx.getLocation({ // 获取当前位置信息 success(res){ that.setData({ latitude: res.latitude, longitude: res.longitude }); } }) }, handleRegionChange(e) { let itv; if (e.type === 'begin') { // 当开始移动时保存起始地点并清理定时器 var slat = this.data.latitude; var slon = this.data.longitude; clearInterval(itv); } /* ...其他业务逻辑... */ } }); ``` 上述脚本展示了如何初始化地图中心点的位置,并且实现了对地图缩放平移动作(`regionchange`) 的响应,其中包含了对于未完成动画序列中断情况下的优化措施[^4]。 #### 添加标记点与标签 为了让地图上的兴趣点更加直观易读,可以通过设定 marker 对象数组的方式向地图添加多个带有描述性的标志物。每一个 marker 可以关联一张图片作为图标,并附带一段说明文字形成浮动框效果: ```javascript const markers = [{ iconPath: '/path/to/icon.png', id: 0, latitude: 23.099994, longitude: 113.324520, width: 20, height: 30, label: { content: '这是一个测试标记', fontSize: 12, color: '#ff0000' } }]; this.setData({ markers }); ``` 以上就是有关微信小程序内置 `map` 组件较为完整的介绍及应用实例解析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

劝导小子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值