# 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: 请注意原生组件使用限制