微信小程序地图点击设置范围并创建区域蒙层

微信小程序地图点击设置范围并创建区域蒙层

微信小程序用户点击地图,创建marker并且连接marker绘制出一块区域。

1.index.wxml

代码如下(示例):

<map id="myMap" longitude="{{longitude}}" bindtap="bindtap" latitude="{{latitude}}" scale="14"  polygons="{{polygons}}" show-location  markers="{{markerArray}}">
  </map>

2.index.js

代码如下(示例):


Page({

  /**
   * 页面的初始数据
   */
  data: {
    marker: "marker",
    latitude: "24.47951",
    longitude: "118.08948",//这个是你的经纬度
    // polygons:[],
    polygons: [{
      points: [{//这里的数组是你规定的多边形区域,
      //同上所述 你要在map上找到你所要的坐标 进行划分值
        longitude: 118.082771,
        latitude: 24.494959
      },
      {
        longitude: 118.061142,
        latitude: 24.486836
      }, {
        longitude: 118.082771,
        latitude: 24.494959
      }],
      fillColor: "#F2D7BC99",//这里面设置透明度 后面加数字代表透明度
      strokeColor: "#FFF",
      strokeWidth: 2,
      zIndex: 1
    }],
    points: [],// 存放点击的坐标
    markerArray: [
    ]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },
  bindtap: function (e) {
    var markerArray = this.data.markerArray
    var points = this.data.points
    var point = e.detail
    points.push(point)
    markerArray.push({
      id:Number(new Date()),
      longitude: point.longitude,
      latitude: point.latitude,
      width:30,
      height:30,
      iconPath: '../static/image/marker.jpeg',
    })
    if (markerArray.length < 5) {
      this.setData({
        points: points,
        polygons: [{
          points: this.data.points,
          fillColor: "#F2D7BC99",//这里面设置透明度 后面加数字代表透明度
          strokeColor: "#FFF",
          strokeWidth: 2,
          zIndex: 1
        }],
        markerArray:markerArray
      })
      console.log(this.data);
    }
  },
})

提示

目前仅为测试,已实现效果。样式不精美,有待进一步改善。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值