首页 > 编程语言 >#yyds干货盘点#【愚公系列】2022年11月 微信小程序-地图的使用之API相关函数案例

#yyds干货盘点#【愚公系列】2022年11月 微信小程序-地图的使用之API相关函数案例

时间:2022-11-23 21:32:51浏览次数:53  
标签:yyds 1.0 控件 微信 number longitude boolean 2022 latitude

前言

地图基础属性:

属性 类型 默认值 必填 说明 最低版本
longitude number 中心经度 1.0.0
latitude number 中心纬度 1.0.0
scale number 16 缩放级别,取值范围为3-20 1.0.0
min-scale number 3 最小缩放级别 2.13.0
max-scale number 20 最大缩放级别 2.13.0
markers Array.<marker> 标记点 1.0.0
covers Array.<cover> 即将移除,请使用 markers 1.0.0
polyline Array.<polyline> 路线 1.0.0
circles Array.<circle> 1.0.0
controls Array.<control> 控件(即将废弃,建议使用 cover-view 代替) 1.0.0
include-points Array.<point> 缩放视野以包含所有给定的坐标点 1.0.0
show-location boolean false 显示带有方向的当前定位点 1.0.0
polygons Array.<polygon> 多边形 2.3.0
subkey string 个性化地图使用的key 2.3.0
layer-style number 1 个性化地图配置的 style,不支持动态修改
rotate number 旋转角度,范围 0 ~ 360, 地图正北和设备 y 轴角度的夹角 2.5.0
skew number 倾斜角度,范围 0 ~ 40 , 关于 z 轴的倾角 2.5.0
enable-3D boolean false 展示3D楼块 2.3.0
show-compass boolean false 显示指南针 2.3.0
show-scale boolean false 显示比例尺,工具暂不支持 2.8.0
enable-overlooking boolean false 开启俯视 2.3.0
enable-zoom boolean true 是否支持缩放 2.3.0
enable-scroll boolean true 是否支持拖动 2.3.0
enable-rotate boolean false 是否支持旋转 2.3.0
enable-satellite boolean false 是否开启卫星图 2.7.0
enable-traffic boolean false 是否开启实时路况 2.7.0
enable-poi boolean true 是否展示 POI 点 2.14.0
enable-building boolean 是否展示建筑物 2.14.0
setting object 配置项 2.8.2
bindtap eventhandle 点击地图时触发,2.9.0起返回经纬度信息 1.0.0
bindmarkertap eventhandle 点击标记点时触发,e.detail = {markerId} 1.0.0
bindlabeltap eventhandle 点击label时触发,e.detail = {markerId} 2.9.0
bindcontroltap eventhandle 点击控件时触发,e.detail = {controlId} 1.0.0
bindcallouttap eventhandle 点击标记点对应的气泡时触发e.detail = {markerId} 1.2.0
bindupdated eventhandle 在地图渲染更新完成时触发 1.6.0
bindregionchange eventhandle 视野发生变化时触发, 2.3.0
bindpoitap eventhandle 点击地图poi点时触发,e.detail = {name, longitude, latitude} 2.3.0
bindanchorpointtap eventhandle 点击定位标时触发,e.detail = {longitude, latitude} 2.13.0

circle 在地图上显示圆

属性 说明 类型 必填 备注
latitude 纬度 number 浮点数,范围 -90 ~ 90
longitude 经度 number 浮点数,范围 -180 ~ 180
color 描边的颜色 string 十六进制
fillColor 填充颜色 string 十六进制
radius 半径 number
strokeWidth 描边的宽度 number
level 压盖关系 string 默认为 abovelabels

control 在地图上显示控件,控件不随着地图移动。即将废弃,请使用 cover-view

属性 说明 类型 必填 备注
id 控件id number 在控件点击事件回调会返回此id
position 控件在地图的位置 object 控件相对地图位置
iconPath 显示的图标 string 项目目录下的图片路径,支持本地路径、代码包路径
clickable 是否可点击 boolean 默认不可点击

position

属性 说明 类型 必填 备注
left 距离地图的左边界多远 number 默认为0
top 距离地图的上边界多远 number 默认为0
width 控件宽度 number 默认为图片宽度
height 控件高度 number 默认为图片高度

bindregionchange 返回值

属性 说明 类型 备注
type 视野变化开始、结束时触发 string 视野变化开始为begin,结束为end
causedBy 导致视野变化的原因 string 拖动地图导致(drag)、缩放导致(scale)、调用接口导致(update)

一、API相关函数案例

1.wxml

<view class="page-body">
  <view class="page-section page-section-gap">
    <map
      id="myMap"
      style="width: 100%; height: 300px;"
      latitude="{{latitude}}"
      longitude="{{longitude}}"
      markers="{{markers}}"
      covers="{{covers}}"
      show-location
    ></map>
  </view>
  <view class="btn-area">
    <button bindtap="getCenterLocation" class="page-body-button" type="primary">获取位置</button>
    <button bindtap="moveToLocation" class="page-body-button" type="primary">移动位置</button>
    <button bindtap="translateMarker" class="page-body-button" type="primary">移动标注</button>
    <button bindtap="includePoints" class="page-body-button" type="primary">缩放视野展示所有经纬度</button>
  </view>
</view>

2.js

Page({
  data: {
    latitude: 23.099994,
    longitude: 113.324520,
    markers: [{
      id: 1,
      latitude: 23.099994,
      longitude: 113.324520,
      name: 'T.I.T 创意园'
    }],
    covers: [{
      latitude: 23.099994,
      longitude: 113.344520,
      iconPath: '/image/location.png'
    }, {
      latitude: 23.099994,
      longitude: 113.304520,
      iconPath: '/image/location.png'
    }]
  },
  onReady: function (e) {
    this.mapCtx = wx.createMapContext('myMap')
  },
  //获取地图中心点
  getCenterLocation: function () {
    this.mapCtx.getCenterLocation({
      success: function(res){
        console.log(res.longitude)
        console.log(res.latitude)
      }
    })
  },
  //移动到手机定位位置
  moveToLocation: function () {
    this.mapCtx.moveToLocation()
  },
  //移动标注
  translateMarker: function() {
    this.mapCtx.translateMarker({
      markerId: 1,
      autoRotate: true,
      duration: 1000,
      destination: {
        latitude:23.10229,
        longitude:113.3345211,
      },
      animationEnd() {
        console.log('animation end')
      }
    })
  },
  //缩放视野内所有经纬度
  includePoints: function() {
    this.mapCtx.includePoints({
      padding: [10],
      points: [{
        latitude:23.10229,
        longitude:113.3345211,
      }, {
        latitude:23.00229,
        longitude:113.3345211,
      }]
    })
  }
})

3.wxss

.page-section-gap{
  box-sizing: border-box;
  padding: 0 30rpx;
}

.page-body-button {
  margin-bottom: 30rpx;
}

4.实际效果

在这里插入图片描述

标签:yyds,1.0,控件,微信,number,longitude,boolean,2022,latitude
From: https://blog.51cto.com/u_15437432/5881757

相关文章

  • 【2022-11-23】luffy项目实战(十三)
    一、前期准备1.云服务器购买阿里云服务器:https://www.aliyun.com/?spm=5176.13735996.J_3207526240.1.555e3c60eweQIY腾讯云服务器:https://cloud.tencent.com/......
  • P8818 [CSP-S 2022] 策略游戏
    [CSP-S2022]策略游戏实际上就是先手的那个人取保底,后手的那个人取此刻的最佳值。我一开始以为两个人都取保底,谁想到这么没意思……那么就是线段树小应用,分别维护区间......
  • P8817 [CSP-S 2022] 假期计划
    [CSP-S2022]假期计划我第一眼看的时候怎么搞都会多一个\(O(\logn)\),还在想是不是有什么高深做法……然后想到边权为\(1\)的时候好像根本不需要用Dijkstra,直接BFS......
  • P8819 [CSP-S 2022] 星战
    [CSP-S2022]星战这么长时间过去都快不会写题解了。嗯……不过还是稍微记一下会比较好。题意看完之后就是让我们去判断整张图是否是一个内向基环树森林。然后这个事情......
  • 【2022-11-23】爬虫从入门到入狱(一)
    一、爬虫介绍#爬虫介绍: 网络爬虫(webcrawler)又称为网络蜘蛛(webspider)或网络机器人(webrobot),另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或蠕虫,同时它也是“物联......
  • Python:企业微信批量发工资条工具 -应用消息发送模块
    16年python练手,开发了采用企业微信批量发工资条的程序,其中对企业微信发消息的功能做了包装。在此记录和分享一下。整体程序,使用了wxPythonGUI,以excel来存放数据和消息......
  • 2022.11.23
    一说到清朝的闭关锁国,大家都很痛心疾首、愤愤不平,觉得要是没有闭关锁国的话,可能中国依然是强国,也能避免后来的那些耻辱了。但有意思的是,现在还是有很多人闭关锁国,他们对......
  • #yyds干货盘点# 动态规划专题:分割等和子集
    1.简述:描述给定一个只包含正整数的数组nums,请问能否把这个数组取出若干个数使得取出的数之和和剩下的数之和相同。数据范围:  ,数组中的元素满足 输入描述:第一行输入一......
  • @tranctional +@feighclient 注解的一些细节2022-11-23
    rollbackfall  有异常,则回滚  该属性用于设置需要进行回滚的异常类数组,当方法中抛出指定异常数组中的异常时,则进行事务回滚, 指定单一异常类:@Transactional(ro......
  • 2022 云原生编程挑战赛圆满收官,见证冠军战队的诞生
    11月3日,天池大赛·第三届云原生编程挑战赛在杭州云栖大会圆满收官。三大赛道18大战队手历经3个月激烈的角逐,终于交上了满意的答卷,同时也捧回了属于他们的荣耀奖杯。......