小程序获取你选择map上的经纬度与绘制多边形区域

polygons绘制四边形找定义数组点

polygons绘制多边形区域里面有数组
一般会用到获取经纬度 进行判断连点
在这里插入图片描述

代码

wxml

<view class="container">
    <view class="section">
       <button type="primary" bindtap="mapView">地图选点</button>
    </view>
</view>

js

Page({

  /**
   * 页面的初始数据
   */
  data: {
  },
  mapView: function () {
    var that = this
    wx.chooseLocation({
      success: function (res) {
        console.log(res);
        that.data.userAddress = res.address + res.name + ',latitude=' + res.latitude
          + ",longitude=" + res.longitude;
          console.log("您选择的定位地址 = " + that.data.userAddress);
          console.log(res.latitude,res.longitude)
      },
    })
   
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  }
})

使用polygons来绘制多边形区域

这里的是顶角不可以拖拽的

效果图

在这里插入图片描述

代码

wxml


  <map id="map" longitude="{{longitude}}" latitude="{{latitude}}" scale="14" controls="{{controls}}" bindcontroltap="controltap" markers="{{markers}}" bindmarkertap="markertap" polyline="{{polyline}}" polygons="{{polygons}}" bindregionchange="regionchange"
    show-location style="width: 100%; height: 100vh;">
  </map>

wxss

.intro {
  margin: 30px;
  text-align: center;
}

js


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

  },
  onLoad(options) {
  },


}

)
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值