微信小程序-地图map的使用

1,020 阅读3分钟

这是我参与8月更文挑战的第1天,活动详情查看:8月更文挑战

最近刚刚开发小程序,还有很多不懂的地方,记录一下,以备不时之需,温故而知新。

一、map

map的常用属性

属性名属性说明
longitude经度
latityde纬度
scale缩放级别,取值范围3-20
min-scale最小缩放级别,默认值3
max-scale最大缩放级别
markers标记点
polyline路线
circles
include-points缩放视野包含所有坐标点
 <map type="2d" id="map" longitude="{{longitude}}" latitude="{{latitude}}" scale="{{scale}}"
        markers="{{markers}}" polyline="{{polyline}}" style="width: 100%; height: 100%" show-location
        show-compass enable-rotate>
    </map>

二、marker

地图的标记点

属性名属性说明
content气泡文本
color文本颜色
fontSize文本大小
borderRadius边框圆角
borderWidth边框颜色
bgColor背景色
padding文本边缘留白

三、polyline

指定一系列坐标点,从数组第一项连线至最后一项.绘制彩虹线时,需指定不同分段的颜色,如 points 包含 5 个点,则 colorList 应传入 4 个颜色值;若 colorList 长度小于 points.length - 1,则剩下的分段颜色与最后一项保持一致。

属性名属性说明
points经纬度数组
color线的颜色
colorList彩虹线
width线宽
dottedLine是否虚线
arrowLine带箭头的线
borderColor线的边框颜色
borderwidth线厚度
level层级

其中level 字段表示与其他地图的层级关系,具体如下

属性名属性说明
aboverLabels在所有poi上
abovebuildings在楼块之上poi之下
aboveroads道路之上楼块之下

四、polygon

根据points形成闭合多边形

属性名属性说明
points经纬度数组
strokeWidth描边宽度
strokeColor描边颜色
fillColor填充颜色
level层级

五、circle

根据经纬度和半径形成圆

属性名属性说明
longitude经度
latityde纬度
color描边颜色
fillColor填充颜色
strokeWidth描边宽度
radius半径
level层级

map的属性基本都可以掌握,一般map会和位置结合使用,下面我们一起去看看吧!map的属性基本都可以掌握,一般map会和位置结合使用,下面我们一起去看看吧!

六、 wx.startLocationUpdateBackground

wx.startLocationUpdateBackground(Object object) 以Promise风格调用,需要引导用户授权(scope.userLocationBackground

  • 开启小程序进入前后台时均接受消息

七、 wx.startLocationUpdate

以Promise风格调用,需要引导用户授权(scope.userLocation

  • 开启小程序进入前台时接收位置消息

八、wx.onLocationChange

以Promise风格调用

九、wx.getLocation

以Promise风格调用,需要引导用户授权(scope.userLocation

  • 获取当前地理位置,速度,用户离开小程序后,此接口无法调用。
  • 开启高精度定位,接口耗时会增加
  • 地图的坐标格式为gcj02
  • 高频调用会耗电,需要持续定位可使用 wx.onLocationchange

参数说明

object object

属性名属性说明
typewgs84返回gps坐标,gcj02返回可用于wx.openLocation坐标,默认值是wgs84
altitude传true会返回高度信息,会减慢接口返回速度
isHighAccuracy高度精度定位
highAccuracyExpireTime高精度定位超市时间(ms)3000ms以上高精度定位才有效果

object.success 回调函数

属性名属性说明
longitude经度, 范围-90~90,负数表示南纬
latityde纬度, 范围-180~180,负数表示西经
speed速度(m/s)
accuracy位置的精准度
altitude宽度(m)
verticalAccuracy垂直精度(Android无法获取,返回0)
horizontalAccuracy水平精度
wx.getLocation({
 type: 'gcj02',
 success (res) {
   const latitude = res.latitude
   const longitude = res.longitude
   const speed = res.speed
   const accuracy = res.accuracy
 }
})