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

地图组件

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

示例代码如下:

<map id="map" longitude="{{longitude}}" latitude="{{latitude}}"circles="{{circles}}"scale="14"control="{{controls}}"bindcontroltap="controltap"markers="{{markers}}"bindmarkertap="markertap"polyline="{{polyline}}"bindregionchange="regionchange"show-location style="width:100%;height:300px;"></map>
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)
  }
})

执行结果如下:

属性名类型默认值说明最低版本
longitudeNumber 中心经度 
latitudeNumber 中心纬度 
scaleNumber16缩放级别,取值范围为5-18 
markersArray 标记点 
coversArray 即将移除,请使用 markers 
polylineArray 路线 
polygonsArray 多边形2.3.0
circlesArray  
controlsArray 控件(即将废弃,建议使用 cover-view 代替) 
include-pointsArray 缩放视野以包含所有给定的坐标点 
show-locationBoolean 显示带有方向的当前定位点 
subkeyString''个性化地图使用的key,仅初始化地图时有效2.3.0
enable-3DBooleanfalse展示3D楼块(工具暂不支持)2.3.0
show-compassBooleanfalse显示指南针2.3.0
enable-overlookingBooleanfalse开启俯视2.3.0
enable-zoomBooleantrue是否支持缩放2.3.0
enable-scrollBooleantrue是否支持拖动2.3.0
enable-rotateBooleanfalse是否支持旋转2.3.0
bindmarkertapEventHandle 点击标记点时触发,会返回marker的id 
bindcallouttapEventHandle 点击标记点对应的气泡时触发,会返回marker的id1.2.0
bindcontroltapEventHandle 点击控件时触发,会返回control的id 
bindregionchangeEventHandle 视野发生变化时触发2.3.0起增加causedBy
bindtapEventHandle 点击地图时触发 
bindupdatedEventHandle 在地图渲染更新完成时触发1.6.0
bindpoitapEventHandle 点击地图poi点时触发2.3.0

 

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

markers

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

属性说明类型必填备注最低版本
id标记点idNumbermarker点击事件回调会返回此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文本String1.2.0
color文本颜色String1.2.0
fontSize文字大小Number / String1.2.0
borderRadius边框圆角Number / String1.2.0
borderWidth边框宽度Number / String2.3.0
borderColor边框颜色String2.3.0
bgColor背景色String1.2.0
padding文本边缘留白Number / String1.2.0
display'BYCLICK':点击显示; 'ALWAYS':常显String1.2.0
textAlign文本对齐方式。有效值: left, right, centerString1.6.0

marker 上的气泡 label

属性说明类型最低版本
content文本String1.2.0
color文本颜色String1.2.0
fontSize文字大小Number / String1.2.0
xlabel的坐标(废弃)Number1.2.0
ylabel的坐标(废弃)Number1.2.0
anchorXlabel的坐标,原点是 marker 对应的经纬度Number / String2.1.0
anchorYlabel的坐标,原点是 marker 对应的经纬度Number / String2.1.0
borderWidth边框宽度Number / String1.6.0
borderColor边框颜色String1.6.0
borderRadius边框圆角Number / String1.6.0
bgColor背景色String1.6.0
padding文本边缘留白Number / String1.6.0
textAlign文本对齐方式。有效值: left, right, centerString1.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控件idNumber在控件点击事件回调会返回此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

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值