微信小程序画地块(微信开放文档中腾讯地图)

本文档介绍了如何在微信小程序中利用腾讯地图API进行地块的绘制,详细讲解了map.js、map.wxml、map.wxss和map.json四个关键文件的配置与实现。
摘要由CSDN通过智能技术生成

微信小程序画地块(微信开放文档中腾讯地图)

 

1、map.js

 

// 引入math计算包
var mathjs = require('../../../source/util/math.js');
// 获取所有经纬度
var allarea = []
// 画地块多边形
var temp = []
// 查看是否可以绘制地图
var check = 0
// 设置标点次数
var marker = 0
// 定义两个接收参数变量经纬度,计算前一个点到下一个点的距离
var lat = 0;
var long = 0;
// 周长和
var allperimeter = 0;
Page({
  /**
   * 页面的初始数据
   */
  data: {
    //可以通过hidden是否掩藏弹出框的属性,来指定那个弹出框 
    hiddenmodalput: true,
    // 地图参数配置
    latitude: "",
    longitude: "",
    scale: 10,
    markers: [],
    polygons: [],
    // 设置面积和周长按钮显隐性
    hidden: true,
    // 面积值
    area: 0.00,
    // 周长值
    perimeter: 0.00
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this
    //获取当前的地理位置、速度
    wx.getLocation({
      type: 'wgs84', // 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标
      success: function (res) {
        //赋值经纬度
        that.setData({
          latitude: res.latitude,
          longitude: res.longitude,
          scale: 10,
          markers: [],
          polygons: [],
          hidden: true,
          area: 0.00,
          perimeter: 0.00
        })
        //————————————————————————————————————————初始化全局变量参数
        // 获取所有经纬度
        allarea = []
        // 画地块多边形
        temp = []
        // 查看是否可以绘制地图
        check = 0
        // 设置标点次数
        marker = 0
        // 定义两个接收参数变量经纬度
        lat = 0;
        long = 0;
        // 周长和
        allperimeter = 0;
        //————————————————————————————————————————初始化全局变量参数
      }
    })
  },
  // 地图点击事件
  mapclick: function (res) {
    // 判断是否点击 绘制地图 按钮
    if (check == 0) {
      return;
    }
    var that = this;
    // 添加 0.0000000000001 因为polygons至少三个点
    temp.push({
      latitude: res.detail.latitude,
      longitude: res.detail.longitude
    }, {
      latitude: res.detail.latitude,
      longitude: res.detail.longitude
    }, {
      latitude: res.detail.latitude + 0.00000000000001,
      longitude: res.detail.longitude
    })
    // 添加 标记符号和点击的位置经纬度
    that.data.markers.push({
      latitude: res.detail.latitude,
      longitude: res.detail.longitude,
      iconPath: "../../../source/image/dw.png" //cir.png
    })
    // 赋值地图页面属性
    that.setData({
      markers: that.data.markers,
      polygons: [{
        points: temp,
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

beyondwild

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

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

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

打赏作者

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

抵扣说明:

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

余额充值