基础库 1.0.0 开始支持,低版本需做兼容处理。
创新互联专业为企业提供召陵网站建设、召陵做网站、召陵网站设计、召陵网站制作等企业网站建设、网页设计与制作、召陵企业网站模板建站服务,十余年召陵做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
地图(v2.7.0 起支持同层渲染)。相关api wx.createMapContext。
个性化地图能力可在小程序后台“开发-开发者工具-腾讯位置服务”申请开通。 小程序内地图组件应使用同一 subkey,可通过 layer-style(地图官网设置的样式 style 编号)属性选择不同的底图风格。 组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)。
| 属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 | 
|---|---|---|---|---|---|
| longitude | number | 是 | 中心经度 | 1.0.0 | |
| latitude | number | 是 | 中心纬度 | 1.0.0 | |
| scale | number | 16 | 否 | 缩放级别,取值范围为3-20 | 1.0.0 | 
| markers | Array. | 否 | 标记点 | 1.0.0 | |
| covers | Array. | 否 | 即将移除,请使用 markers | 1.0.0 | |
| polyline | Array. | 否 | 路线 | 1.0.0 | |
| circles | Array. | 否 | 圆 | 1.0.0 | |
| controls | Array. | 否 | 控件(即将废弃,建议使用 cover-view 代替) | 1.0.0 | |
| include-points | Array. | 否 | 缩放视野以包含所有给定的坐标点 | 1.0.0 | |
| show-location | boolean | false | 否 | 显示带有方向的当前定位点 | 1.0.0 | 
| polygons | Array. | 否 | 多边形 | 2.3.0 | |
| subkey | string | 否 | 个性化地图使用的key | 2.3.0 | |
| layer-style | number | 1 | 否 | 个性化地图配置的 style,不支持动态修改 | |
| rotate | number | 0 | 否 | 旋转角度,范围 0 ~ 360, 地图正北和设备 y 轴角度的夹角 | 2.5.0 | 
| skew | number | 0 | 否 | 倾斜角度,范围 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 | 
| 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 | 
视野改变时,regionchange 会触发两次,返回的 type 值分别为 begin / end。
2.8.0起 begin 阶段返回 causedBy,有效值为 gesture(手势触发) & update(接口触发)
2.3.0起 end 阶段返回 causedBy,有效值为 drag(拖动导致)、scale(缩放导致)、update(调用更新接口导致) rotate、skew仅在 end 阶段返回
e = {
  causedBy,
  type,
  detail: {
    rotate,
    skew
  }
}
提供 setting 对象统一设置地图配置。同时对于一些动画属性如 rotate 和 skew,通过 setData 分开设置时无法同时生效,需通过 settting 统一修改。
// 默认值
const setting = {
  skew: 0,
  rotate: 0,
  showLocation: false,
  showScale: false,
  subKey: '',
  layerStyle: -1,
  enableZoom: true,
  enableScroll: true,
  enableRotate: false,
  showCompass: false,
  enable3D: false,
  enableOverlooking: false,
  enableSatellite: false,
  enableTraffic: false,
}
this.setData({
  // 仅设置的属性会生效,其它的不受影响
  setting: {
    enable3D: true,
    enableTraffic: true
  }
})
标记点用于在地图上显示标记的位置
| 属性 | 说明 | 类型 | 必填 | 备注 | 最低版本 | 
|---|---|---|---|---|---|
| id | 标记点 id | number | 否 | marker 点击事件回调会返回此 id。建议为每个 marker 设置上 number 类型 id,保证更新 marker 时有更好的性能。 | |
| latitude | 纬度 | number | 是 | 浮点数,范围 -90 ~ 90 | |
| longitude | 经度 | number | 是 | 浮点数,范围 -180 ~ 180 | |
| title | 标注点名 | string | 否 | 点击时显示,callout存在时将被忽略 | |
| zIndex | 显示层级 | number | 否 | 2.3.0 | |
| iconPath | 显示的图标 | string | 是 | 项目目录下的图片路径,支持网络路径、本地路径、代码包路径(2.3.0) | |
| rotate | 旋转角度 | number | 否 | 顺时针旋转的角度,范围 0 ~ 360,默认为 0 | |
| alpha | 标注的透明度 | number | 否 | 默认 1,无透明,范围 0 ~ 1 | |
| width | 标注图标宽度 | number/string | 否 | 默认为图片实际宽度 | |
| height | 标注图标高度 | number/string | 否 | 默认为图片实际高度 | |
| callout | 自定义标记点上方的气泡窗口 | Object | 否 | 支持的属性见下表,可识别换行符。 | 1.2.0 | 
| label | 为标记点旁边增加标签 | Object | 否 | 支持的属性见下表,可识别换行符。 | 1.2.0 | 
| anchor | 经纬度在标注图标的锚点,默认底边中点 | Object | 否 | {x, y},x 表示横向(0-1),y 表示竖向(0-1)。{x: .5, y: 1} 表示底边中点 | 1.2.0 | 
| aria-label | 无障碍访问,(属性)元素的额外描述 | string | 否 | 2.5.0 | 
| 属性 | 说明 | 类型 | 最低版本 | 
|---|---|---|---|
| content | 文本 | string | 1.2.0 | 
| color | 文本颜色 | string | 1.2.0 | 
| fontSize | 文字大小 | number | 1.2.0 | 
| borderRadius | 边框圆角 | number | 1.2.0 | 
| borderWidth | 边框宽度 | number | 2.3.0 | 
| borderColor | 边框颜色 | string | 2.3.0 | 
| bgColor | 背景色 | string | 1.2.0 | 
| padding | 文本边缘留白 | number | 1.2.0 | 
| display | 'BYCLICK':点击显示; 'ALWAYS':常显 | string | 1.2.0 | 
| textAlign | 文本对齐方式。有效值: left, right, center | string | 1.6.0 | 
| anchorX | 横向偏移量,向右为正数 | number | 2.11.0 | 
| anchorY | 纵向偏移量,向下为正数 | number | 2.11.0 | 
| 属性 | 说明 | 类型 | 最低版本 | 
|---|---|---|---|
| content | 文本 | string | 1.2.0 | 
| color | 文本颜色 | string | 1.2.0 | 
| fontSize | 文字大小 | number | 1.2.0 | 
| x | label的坐标(废弃) | number | 1.2.0 | 
| y | label的坐标(废弃) | number | 1.2.0 | 
| anchorX | label的坐标,原点是 marker 对应的经纬度 | number | 2.1.0 | 
| anchorY | label的坐标,原点是 marker 对应的经纬度 | number | 2.1.0 | 
| borderWidth | 边框宽度 | number | 1.6.0 | 
| borderColor | 边框颜色 | string | 1.6.0 | 
| borderRadius | 边框圆角 | number | 1.6.0 | 
| bgColor | 背景色 | string | 1.6.0 | 
| padding | 文本边缘留白 | number | 1.6.0 | 
| textAlign | 文本对齐方式。有效值: left, right, center | string | 1.6.0 | 
指定一系列坐标点,从数组第一项连线至最后一项
| 属性 | 说明 | 类型 | 必填 | 备注 | 最低版本 | 
|---|---|---|---|---|---|
| points | 经纬度数组 | array | 是 | [{latitude: 0, longitude: 0}] | |
| color | 线的颜色 | string | 否 | 十六进制 | |
| width | 线的宽度 | number | 否 | ||
| dottedLine | 是否虚线 | boolean | 否 | 默认 false | |
| arrowLine | 带箭头的线 | boolean | 否 | 默认 false,开发者工具暂不支持该属性 | 1.2.0 | 
| arrowIconPath | 更换箭头图标 | string | 否 | 在 arrowLine 为 true 时生效 | 1.6.0 | 
| borderColor | 线的边框颜色 | string | 否 | 1.2.0 | |
| borderWidth | 线的厚度 | number | 否 | 1.2.0 | 
指定一系列坐标点,根据 points 坐标数据生成闭合多边形
| 属性 | 说明 | 类型 | 必填 | 备注 | 最低版本 | 
|---|---|---|---|---|---|
| points | 经纬度数组 | array | 是 | [{latitude: 0, longitude: 0}] | 2.3.0 | 
| strokeWidth | 描边的宽度 | number | 否 | 2.3.0 | |
| strokeColor | 描边的颜色 | string | 否 | 十六进制 | 2.3.0 | 
| fillColor | 填充颜色 | string | 否 | 十六进制 | |
| zIndex | 设置多边形Z轴数值 | number | 否 | 2.3.0 | 
在地图上显示圆
| 属性 | 说明 | 类型 | 必填 | 备注 | 
|---|---|---|---|---|
| latitude | 纬度 | number | 是 | 浮点数,范围 -90 ~ 90 | 
| longitude | 经度 | number | 是 | 浮点数,范围 -180 ~ 180 | 
| color | 描边的颜色 | string | 否 | 十六进制 | 
| fillColor | 填充颜色 | string | 否 | 十六进制 | 
| radius | 半径 | number | 是 | |
| strokeWidth | 描边的宽度 | number | 否 | 
在地图上显示控件,控件不随着地图移动。即将废弃,请使用 cover-view
| 属性 | 说明 | 类型 | 必填 | 备注 | 
|---|---|---|---|---|
| id | 控件id | number | 否 | 在控件点击事件回调会返回此id | 
| position | 控件在地图的位置 | object | 是 | 控件相对地图位置 | 
| iconPath | 显示的图标 | string | 是 | 项目目录下的图片路径,支持本地路径、代码包路径 | 
| clickable | 是否可点击 | boolean | 否 | 默认不可点击 | 
| 属性 | 说明 | 类型 | 必填 | 备注 | 
|---|---|---|---|---|
| left | 距离地图的左边界多远 | number | 否 | 默认为0 | 
| top | 距离地图的上边界多远 | number | 否 | 默认为0 | 
| width | 控件宽度 | number | 否 | 默认为图片宽度 | 
| height | 控件高度 | number | 否 | 默认为图片高度 | 
| 属性 | 说明 | 类型 | 备注 | 
|---|---|---|---|
| type | 视野变化开始、结束时触发 | string | 视野变化开始为begin,结束为end | 
| causedBy | 导致视野变化的原因 | string | 拖动地图导致(drag)、缩放导致(scale)、调用接口导致(update) | 
| scale | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 
| 比例 | 1000km | 500km | 200km | 100km | 50km | 50km | 20km | 10km | 5km | 
| scale | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 
| 比例 | 2km | 1km | 500m | 200m | 100m | 50m | 50m | 20m | 10m | 
在开发者工具中预览效果
// map.js
Page({
  data: {
    markers: [{
      iconPath: "/resources/others.png",
      id: 0,
      latitude: 23.099994,
      longitude: 113.324520,
      width: 50,
      height: 50
    }],
    polyline: [{
      points: [{
        longitude: 113.3245211,
        latitude: 23.10229
      }, {
        longitude: 113.324520,
        latitude: 23.21229
      }],
      color:"#FF0000DD",
      width: 2,
      dottedLine: true
    }],
    controls: [{
      id: 1,
      iconPath: '/resources/location.png',
      position: {
        left: 0,
        top: 300 - 50,
        width: 50,
        height: 50
      },
      clickable: true
    }]
  },
  regionchange(e) {
    console.log(e.type)
  },
  markertap(e) {
    console.log(e.detail.markerId)
  },
  controltap(e) {
    console.log(e.detail.controlId)
  }
})
                分享文章:创新互联小程序教程:微信小程序地图map
                
                网站地址:http://www.csdahua.cn/qtweb/news47/200347.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网