微信小程序学习之路——地图组件(Map)

地图组件

移动应用中地图是必不可缺的内容,通过地图我们可以很直观地表现出地理信息,为此小程序提供了组件和定位相关的API,在给出其属性值之前,我们先用代码来测试以及看一看它的效果:

示例代码如下:

Page({
  data:{
    latitude:30.5491861989,
    longitude:104.0680165911,
    scale:5,
    //设置标记点
    markers:[
      {iconPath:"../../images/flag.ico",id:0,latitude:30.5491861989,longitude:104.0680165911,width:30,height:30},
      {iconPath:"../../images/flag.ico",id:1,latitude:30.5468852218,longitude:104.056858833,width:30,height:30}
    ],
    //设置路线
    polyline:[{
      //按顺序设置点
      points:[
        {longitude:104.0680165911,latitude:30.5491861989},
        {longitude:104.0687752749,latitude:30.5493485980},
        {longitude:104.0688698344,latitude:30.5470634483},
        {longitude:104.0568588833,latitude:30.5468832218}
      ],
      color:"#000ffDD",
      width:2,
      dottedLine:true
    }],
  //设置2个图标
  controls:[{
    id:1,iconPath:'../../images/location.ico',
    position:{left:0,top:250,width:30,height:30},
    clickable:true
  }]
  },
  //地图发生变化时触发
  regionchange(e){
    //type可以区分是开始拖动还是结束拖动
    console.log(e.type)
  },
  //标记点点击时触发
  markertap(e){
    //根据标记点markId区分
    console.log(e.markerId)
  },
  //点击control设置的图标
  controltap(e){
    //通过MarkId区分按钮
    console.log(e.controlId)
  }
})

执行结果如下:

微信小程序学习之路——地图组件(Map)_第1张图片

属性名 类型 默认值 说明 最低版本
longitude Number   中心经度  
latitude Number   中心纬度  
scale Number 16 缩放级别,取值范围为5-18  
markers Array   标记点  
covers Array   即将移除,请使用 markers  
polyline Array   路线  
polygons Array   多边形 2.3.0
circles Array    
controls Array   控件(即将废弃,建议使用 cover-view 代替)  
include-points Array   缩放视野以包含所有给定的坐标点  
show-location Boolean   显示带有方向的当前定位点  
subkey String '' 个性化地图使用的key,仅初始化地图时有效 2.3.0
enable-3D Boolean false 展示3D楼块(工具暂不支持) 2.3.0
show-compass Boolean false 显示指南针 2.3.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
bindmarkertap EventHandle   点击标记点时触发,会返回marker的id  
bindcallouttap EventHandle   点击标记点对应的气泡时触发,会返回marker的id 1.2.0
bindcontroltap EventHandle   点击控件时触发,会返回control的id  
bindregionchange EventHandle   视野发生变化时触发 2.3.0起增加causedBy
bindtap EventHandle   点击地图时触发  
bindupdated EventHandle   在地图渲染更新完成时触发 1.6.0
bindpoitap EventHandle   点击地图poi点时触发 2.3.0

 

注意: covers 属性即将移除,请使用 markers 替代

markers

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

属性 说明 类型 必填 备注 最低版本
id 标记点id Number marker点击事件回调会返回此id。建议为每个marker设置上Number类型id,保证更新marker时有更好的性能。  
latitude 纬度 Number 浮点数,范围 -90 ~ 90  
longitude 经度 Number 浮点数,范围 -180 ~ 180  
title 标注点名 String    
zIndex 显示层级 Number   2.3.0
iconPath 显示的图标 String 项目目录下的图片路径,支持相对路径写法,以'/'开头则表示相对小程序根目录;也支持临时路径和网络图片(2.3.0)  
rotate 旋转角度 Number 顺时针旋转的角度,范围 0 ~ 360,默认为 0  
alpha 标注的透明度 Number 默认1,无透明,范围 0 ~ 1  
width 标注图标宽度 Number / String 默认为图片实际宽度,单位px(2.4.0起支持rpx)  
height 标注图标高度 Number / String 默认为图片实际高度,单位px(2.4.0起支持rpx)  
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

marker 上的气泡 callout

属性 说明 类型 最低版本
content 文本 String 1.2.0
color 文本颜色 String 1.2.0
fontSize 文字大小 Number / String 1.2.0
borderRadius 边框圆角 Number / String 1.2.0
borderWidth 边框宽度 Number / String 2.3.0
borderColor 边框颜色 String 2.3.0
bgColor 背景色 String 1.2.0
padding 文本边缘留白 Number / String 1.2.0
display 'BYCLICK':点击显示; 'ALWAYS':常显 String 1.2.0
textAlign 文本对齐方式。有效值: left, right, center String 1.6.0

marker 上的气泡 label

属性 说明 类型 最低版本
content 文本 String 1.2.0
color 文本颜色 String 1.2.0
fontSize 文字大小 Number / String 1.2.0
x label的坐标(废弃) Number 1.2.0
y label的坐标(废弃) Number 1.2.0
anchorX label的坐标,原点是 marker 对应的经纬度 Number / String 2.1.0
anchorY label的坐标,原点是 marker 对应的经纬度 Number / String 2.1.0
borderWidth 边框宽度 Number / String 1.6.0
borderColor 边框颜色 String 1.6.0
borderRadius 边框圆角 Number / String 1.6.0
bgColor 背景色 String 1.6.0
padding 文本边缘留白 Number / String 1.6.0
textAlign 文本对齐方式。有效值: left, right, center String 1.6.0

polyline

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

属性 说明 类型 必填 备注 最低版本
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

polygons

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

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

circles

在地图上显示圆

属性 说明 类型 必填 备注
latitude 纬度 Number 浮点数,范围 -90 ~ 90
longitude 经度 Number 浮点数,范围 -180 ~ 180
color 描边的颜色 String 十六进制
fillColor 填充颜色 String 十六进制
radius 半径 Number  
strokeWidth 描边的宽度 Number  

controls

在地图上显示控件,控件不随着地图移动。即将废弃,请使用 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)

地图组件的经纬度必填, 如果不填经纬度则默认值是北京的经纬度。

具体内容请参考微信官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/map.html

你可能感兴趣的:(微信小程序)