# map

地图。该组件是原生组件,使用时请注意相关限制。基础库1.9.0开始支持,低版本需做兼容处理。相关api qq.createMapContext。

属性 类型 默认值 必填 说明 最低版本
longitude number 是 中心经度
latitude number 是 中心纬度
scale number 16 否 缩放级别,取值范围为3~20
markers Array.<marker> 否 标记点
polyline Array.<polyline> 否 路线
circles Array.<circle> 否 圆
include-points Array.<point> 否 缩放视野以包含所有给定的坐标点
show-location boolean false 否 显示带有方向的当前定位点
polygons Array.<polygon> 否 多边形
subkey String 否 个性化地图使用的key 暂不支持
layer-style number 1 否 个性化地图配置的style,不支持动态修改 暂不支持
rotate number 0 否 旋转角度,范围0~360,地图正北与设备y轴的夹角角度
skew number 0 否 倾斜角度,范围0~40,关于z轴的倾角
enable-3D boolean false 否 展示3D楼块(工具暂不支持)
show-compass boolean false 否 显示指南针
show-scale boolean false 否 显示比例尺(工具暂不支持)
enable-overlooking boolean false 否 开启俯视
enable-zoom boolean false 否 是否支持缩放
enable-scroll boolean false 否 是否支持拖动
enable-rotate boolean false 否 是否支持旋转
enable-satellite boolean false 否 是否开启卫星图
enable-traffic boolean false 否 是否开启实时路况
setting Object 否 配置项
bindtap EventHandle 否 点击地图时触发,返回经纬度信息
bindmarkertap EventHandle 否 点击标记点时触发 e.detail = {markerId}
bindupdated EventHandle 否 在地图渲染更新完成时触发
bindregionchange EventHandle 否 视野发生变化时触发 会触发两次,返回的type值分别为begin/end。
bindpoitap EventHandle 否 点击地图poi点时触发 e.detail = {name, longitude, latitude}

setting

提供setting对象统一设置地图配置。对于一些动画属性如rotate和skew,通过setData分开设置时无法同时生效,需通过setting统一修改。

// 默认值
const setting = {
  skew: 0,
  rotate: 0,
  showLocation: false,
  showScale: false,
  enableZoom: true,
  enableScroll: true,
  enableRotate: false,
  showCompass: false,
  enable3D: false,
  enableOverlooking: false,
  enableSatellite: false,
  enableTraffic: false,
}

this.setData({
  // 仅设置的属性会生效,其它的不受影响
  setting: {
    enable3D: true,
    enableTraffic: true
  }
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

marker

标记点 用于在地图上显示标记的位置

属性 类型 说明 必填 备注 最低版本
id number 标记点id 否 marker点击事件回调会返回此id。建议为每个marker设置ID,保证更新marker时有更好的性能。
latitude number 纬度 是 浮点数,范围-90~90
longitude number 经度 是 浮点数,范围-180~180
title String 标注点名 否 点击时显示
zIndex number 显示层级 否
iconPath String 显示的图标 是 项目目录下的图片路径,支持相对路径写法,以'/'开头则表示相对小程序根目录
rotate number 旋转角度 否 顺时针旋转的角度,范围0~360,默认为0
alpha number 标注的透明度 否 默认1,无透明,范围0~1
width number/String 标注图标宽度 否 默认为图片实际宽度
height number/String 标注图标高度 否 默认为图片实际高度
callout Object 自定义标记点上方的气泡窗口 否 暂不支持
label Object 为标记点旁边增加标签 否 暂不支持
anchor Object 经纬度在标注图标的锚点,默认底边中点 否 暂不支持
aria-label String 无障碍访问,元素的额外描述 否 暂不支持

polyline

指定一系列坐标点,从数组的第一项连线至最后一项

属性 类型 说明 必填 备注 最低版本
points Array 经纬度数组 是 [{latitude:0, longitude:0}]
color String 线的颜色 否 十六进制
width number 线的宽度 否
dottedLine boolean 是否虚线 否 默认false
arrowLine boolean 带箭头的线 否 默认false,开发者工具暂不支持本属性
arrowIconPath String 更换箭头图标 是 arrowLine为true时生效
borderColor String 线的边框颜色 否
borderWidth number 线的厚度 否

polygon

指定一系列坐标点,根据points坐标数据生成闭合多边形

属性 类型 说明 必填 备注 最低版本
points Array 经纬度数组 是 [{latitude:0, longitude:0}]
strokeWidth number 描边的宽度 否
strokeColor String 描边的颜色 否 十六进制
fillColor String 填充颜色 否 十六进制
zIndex number 设置多边形z轴数值 否

circle

在地图上显示圆

属性 类型 说明 必填 备注 最低版本
latitude number 纬度 是 浮点数,范围-90~90
longitude number 经度 是 浮点数,范围-180~180
color String 描边的颜色 否 十六进制
fillColor String 填充颜色 否 十六进制
radius number 半径 是
strokeWidth number 描边的宽度 否
# Bug & Tip
  1. tip: 地图中的颜色值color/borderColor/bgColor等需使用6位(8位)十六进制表示,8位时后两位表示alpha值,如:#000000AA
  2. tip: 地图组件的经纬度必填, 如果不填经纬度则默认值是北京的经纬度
  3. tip: map 组件使用的经纬度是火星坐标系,调用 qq.getLocation 接口需要指定 type 为 gcj02
  4. tip: 请注意原生组件使用限制