W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
基礎(chǔ)庫(kù) 1.0.0 開(kāi)始支持,低版本需做兼容處理。
地圖(v2.7.0 起支持同層渲染)。相關(guān)api wx.createMapContext。
個(gè)性化地圖能力可在小程序后臺(tái)“開(kāi)發(fā)-開(kāi)發(fā)者工具-騰訊位置服務(wù)”申請(qǐng)開(kāi)通。 小程序內(nèi)地圖組件應(yīng)使用同一 subkey,可通過(guò) layer-style(地圖官網(wǎng)設(shè)置的樣式 style 編號(hào))屬性選擇不同的底圖風(fēng)格。 組件屬性的長(zhǎng)度單位默認(rèn)為px,2.4.0起支持傳入單位(rpx/px)。
屬性 | 類型 | 默認(rèn)值 | 必填 | 說(shuō)明 | 最低版本 |
---|---|---|---|---|---|
longitude | number | 是 | 中心經(jīng)度 | 1.0.0 | |
latitude | number | 是 | 中心緯度 | 1.0.0 | |
scale | number | 16 | 否 | 縮放級(jí)別,取值范圍為3-20 | 1.0.0 |
markers | Array.<marker> | 否 | 標(biāo)記點(diǎn) | 1.0.0 | |
covers | Array.<cover> | 否 | 即將移除,請(qǐng)使用 markers | 1.0.0 | |
polyline | Array.<polyline> | 否 | 路線 | 1.0.0 | |
circles | Array.<circle> | 否 | 圓 | 1.0.0 | |
controls | Array.<control> | 否 | 控件(即將廢棄,建議使用 cover-view 代替) | 1.0.0 | |
include-points | Array.<point> | 否 | 縮放視野以包含所有給定的坐標(biāo)點(diǎn) | 1.0.0 | |
show-location | boolean | false | 否 | 顯示帶有方向的當(dāng)前定位點(diǎn) | 1.0.0 |
polygons | Array.<polygon> | 否 | 多邊形 | 2.3.0 | |
subkey | string | 否 | 個(gè)性化地圖使用的key | 2.3.0 | |
layer-style | number | 1 | 否 | 個(gè)性化地圖配置的 style,不支持動(dòng)態(tài)修改 | |
rotate | number | 0 | 否 | 旋轉(zhuǎn)角度,范圍 0 ~ 360, 地圖正北和設(shè)備 y 軸角度的夾角 | 2.5.0 |
skew | number | 0 | 否 | 傾斜角度,范圍 0 ~ 40 , 關(guān)于 z 軸的傾角 | 2.5.0 |
enable-3D | boolean | false | 否 | 展示3D樓塊(工具暫不支持) | 2.3.0 |
show-compass | boolean | false | 否 | 顯示指南針 | 2.3.0 |
show-scale | boolean | false | 否 | 顯示比例尺,工具暫不支持 | 2.8.0 |
enable-overlooking | boolean | false | 否 | 開(kāi)啟俯視 | 2.3.0 |
enable-zoom | boolean | true | 否 | 是否支持縮放 | 2.3.0 |
enable-scroll | boolean | true | 否 | 是否支持拖動(dòng) | 2.3.0 |
enable-rotate | boolean | false | 否 | 是否支持旋轉(zhuǎn) | 2.3.0 |
enable-satellite | boolean | false | 否 | 是否開(kāi)啟衛(wèi)星圖 | 2.7.0 |
enable-traffic | boolean | false | 否 | 是否開(kāi)啟實(shí)時(shí)路況 | 2.7.0 |
setting | object | 否 | 配置項(xiàng) | 2.8.2 | |
bindtap | eventhandle | 否 | 點(diǎn)擊地圖時(shí)觸發(fā),2.9.0起返回經(jīng)緯度信息 | 1.0.0 | |
bindmarkertap | eventhandle | 否 | 點(diǎn)擊標(biāo)記點(diǎn)時(shí)觸發(fā),e.detail = {markerId}
|
1.0.0 | |
bindlabeltap | eventhandle | 否 | 點(diǎn)擊label時(shí)觸發(fā),e.detail = {markerId}
|
2.9.0 | |
bindcontroltap | eventhandle | 否 | 點(diǎn)擊控件時(shí)觸發(fā),e.detail = {controlId}
|
1.0.0 | |
bindcallouttap | eventhandle | 否 | 點(diǎn)擊標(biāo)記點(diǎn)對(duì)應(yīng)的氣泡時(shí)觸發(fā)e.detail = {markerId}
|
1.2.0 | |
bindupdated | eventhandle | 否 | 在地圖渲染更新完成時(shí)觸發(fā) | 1.6.0 | |
bindregionchange | eventhandle | 否 | 視野發(fā)生變化時(shí)觸發(fā), | 2.3.0 | |
bindpoitap | eventhandle | 否 | 點(diǎn)擊地圖poi點(diǎn)時(shí)觸發(fā),e.detail = {name, longitude, latitude}
|
2.3.0 |
視野改變時(shí),regionchange 會(huì)觸發(fā)兩次,返回的 type 值分別為 begin / end。
2.8.0起 begin 階段返回 causedBy,有效值為 gesture(手勢(shì)觸發(fā)) & update(接口觸發(fā))
2.3.0起 end 階段返回 causedBy,有效值為 drag(拖動(dòng)導(dǎo)致)、scale(縮放導(dǎo)致)、update(調(diào)用更新接口導(dǎo)致) rotate、skew僅在 end 階段返回
e = {
causedBy,
type,
detail: {
rotate,
skew
}
}
提供 setting 對(duì)象統(tǒng)一設(shè)置地圖配置。同時(shí)對(duì)于一些動(dòng)畫屬性如 rotate 和 skew,通過(guò) setData 分開(kāi)設(shè)置時(shí)無(wú)法同時(shí)生效,需通過(guò) settting 統(tǒng)一修改。
// 默認(rèn)值
const setting = {
skew: 0,
rotate: 0,
showLocation: false,
showScale: false,
subKey: '',
layerStyle: -1,
enableZoom: true,
enableScroll: true,
enableRotate: false,
showCompass: false,
enable3D: false,
enableOverlooking: false,
enableSatellite: false,
enableTraffic: false,
}
this.setData({
// 僅設(shè)置的屬性會(huì)生效,其它的不受影響
setting: {
enable3D: true,
enableTraffic: true
}
})
標(biāo)記點(diǎn)用于在地圖上顯示標(biāo)記的位置
屬性 | 說(shuō)明 | 類型 | 必填 | 備注 | 最低版本 |
---|---|---|---|---|---|
id | 標(biāo)記點(diǎn) id | number | 否 | marker 點(diǎn)擊事件回調(diào)會(huì)返回此 id。建議為每個(gè) marker 設(shè)置上 number 類型 id,保證更新 marker 時(shí)有更好的性能。 | |
latitude | 緯度 | number | 是 | 浮點(diǎn)數(shù),范圍 -90 ~ 90 | |
longitude | 經(jīng)度 | number | 是 | 浮點(diǎn)數(shù),范圍 -180 ~ 180 | |
title | 標(biāo)注點(diǎn)名 | string | 否 | 點(diǎn)擊時(shí)顯示,callout存在時(shí)將被忽略 | |
zIndex | 顯示層級(jí) | number | 否 | 2.3.0 | |
iconPath | 顯示的圖標(biāo) | string | 是 | 項(xiàng)目目錄下的圖片路徑,支持網(wǎng)絡(luò)路徑、本地路徑、代碼包路徑(2.3.0) | |
rotate | 旋轉(zhuǎn)角度 | number | 否 | 順時(shí)針旋轉(zhuǎn)的角度,范圍 0 ~ 360,默認(rèn)為 0 | |
alpha | 標(biāo)注的透明度 | number | 否 | 默認(rèn) 1,無(wú)透明,范圍 0 ~ 1 | |
width | 標(biāo)注圖標(biāo)寬度 | number/string | 否 | 默認(rèn)為圖片實(shí)際寬度 | |
height | 標(biāo)注圖標(biāo)高度 | number/string | 否 | 默認(rèn)為圖片實(shí)際高度 | |
callout | 自定義標(biāo)記點(diǎn)上方的氣泡窗口 | Object | 否 | 支持的屬性見(jiàn)下表,可識(shí)別換行符。 | 1.2.0 |
label | 為標(biāo)記點(diǎn)旁邊增加標(biāo)簽 | Object | 否 | 支持的屬性見(jiàn)下表,可識(shí)別換行符。 | 1.2.0 |
anchor | 經(jīng)緯度在標(biāo)注圖標(biāo)的錨點(diǎn),默認(rèn)底邊中點(diǎn) | Object | 否 | {x, y},x 表示橫向(0-1),y 表示豎向(0-1)。{x: .5, y: 1} 表示底邊中點(diǎn) | 1.2.0 |
aria-label | 無(wú)障礙訪問(wèn),(屬性)元素的額外描述 | string | 否 | 2.5.0 |
屬性 | 說(shuō)明 | 類型 | 最低版本 |
---|---|---|---|
content | 文本 | string | 1.2.0 |
color | 文本顏色 | string | 1.2.0 |
fontSize | 文字大小 | number | 1.2.0 |
borderRadius | 邊框圓角 | number | 1.2.0 |
borderWidth | 邊框?qū)挾?/td> | number | 2.3.0 |
borderColor | 邊框顏色 | string | 2.3.0 |
bgColor | 背景色 | string | 1.2.0 |
padding | 文本邊緣留白 | number | 1.2.0 |
display | 'BYCLICK':點(diǎn)擊顯示; 'ALWAYS':常顯 | string | 1.2.0 |
textAlign | 文本對(duì)齊方式。有效值: left, right, center | string | 1.6.0 |
anchorX | 橫向偏移量,向右為正數(shù) | number | 2.11.0 |
anchorY | 縱向偏移量,向下為正數(shù) | number | 2.11.0 |
屬性 | 說(shuō)明 | 類型 | 最低版本 |
---|---|---|---|
content | 文本 | string | 1.2.0 |
color | 文本顏色 | string | 1.2.0 |
fontSize | 文字大小 | number | 1.2.0 |
x | label的坐標(biāo)(廢棄) | number | 1.2.0 |
y | label的坐標(biāo)(廢棄) | number | 1.2.0 |
anchorX | label的坐標(biāo),原點(diǎn)是 marker 對(duì)應(yīng)的經(jīng)緯度 | number | 2.1.0 |
anchorY | label的坐標(biāo),原點(diǎn)是 marker 對(duì)應(yīng)的經(jīng)緯度 | number | 2.1.0 |
borderWidth | 邊框?qū)挾?/td> | number | 1.6.0 |
borderColor | 邊框顏色 | string | 1.6.0 |
borderRadius | 邊框圓角 | number | 1.6.0 |
bgColor | 背景色 | string | 1.6.0 |
padding | 文本邊緣留白 | number | 1.6.0 |
textAlign | 文本對(duì)齊方式。有效值: left, right, center | string | 1.6.0 |
指定一系列坐標(biāo)點(diǎn),從數(shù)組第一項(xiàng)連線至最后一項(xiàng)
屬性 | 說(shuō)明 | 類型 | 必填 | 備注 | 最低版本 |
---|---|---|---|---|---|
points | 經(jīng)緯度數(shù)組 | array | 是 | [{latitude: 0, longitude: 0}] | |
color | 線的顏色 | string | 否 | 十六進(jìn)制 | |
width | 線的寬度 | number | 否 | ||
dottedLine | 是否虛線 | boolean | 否 | 默認(rèn) false | |
arrowLine | 帶箭頭的線 | boolean | 否 | 默認(rèn) false,開(kāi)發(fā)者工具暫不支持該屬性 | 1.2.0 |
arrowIconPath | 更換箭頭圖標(biāo) | string | 否 | 在 arrowLine 為 true 時(shí)生效 | 1.6.0 |
borderColor | 線的邊框顏色 | string | 否 | 1.2.0 | |
borderWidth | 線的厚度 | number | 否 | 1.2.0 |
指定一系列坐標(biāo)點(diǎn),根據(jù) points 坐標(biāo)數(shù)據(jù)生成閉合多邊形
屬性 | 說(shuō)明 | 類型 | 必填 | 備注 | 最低版本 |
---|---|---|---|---|---|
points | 經(jīng)緯度數(shù)組 | array | 是 | [{latitude: 0, longitude: 0}] | 2.3.0 |
strokeWidth | 描邊的寬度 | number | 否 | 2.3.0 | |
strokeColor | 描邊的顏色 | string | 否 | 十六進(jìn)制 | 2.3.0 |
fillColor | 填充顏色 | string | 否 | 十六進(jìn)制 | |
zIndex | 設(shè)置多邊形Z軸數(shù)值 | number | 否 | 2.3.0 |
在地圖上顯示圓
屬性 | 說(shuō)明 | 類型 | 必填 | 備注 |
---|---|---|---|---|
latitude | 緯度 | number | 是 | 浮點(diǎn)數(shù),范圍 -90 ~ 90 |
longitude | 經(jīng)度 | number | 是 | 浮點(diǎn)數(shù),范圍 -180 ~ 180 |
color | 描邊的顏色 | string | 否 | 十六進(jìn)制 |
fillColor | 填充顏色 | string | 否 | 十六進(jìn)制 |
radius | 半徑 | number | 是 | |
strokeWidth | 描邊的寬度 | number | 否 |
在地圖上顯示控件,控件不隨著地圖移動(dòng)。即將廢棄,請(qǐng)使用 cover-view
屬性 | 說(shuō)明 | 類型 | 必填 | 備注 |
---|---|---|---|---|
id | 控件id | number | 否 | 在控件點(diǎn)擊事件回調(diào)會(huì)返回此id |
position | 控件在地圖的位置 | object | 是 | 控件相對(duì)地圖位置 |
iconPath | 顯示的圖標(biāo) | string | 是 | 項(xiàng)目目錄下的圖片路徑,支持本地路徑、代碼包路徑 |
clickable | 是否可點(diǎn)擊 | boolean | 否 | 默認(rèn)不可點(diǎn)擊 |
屬性 | 說(shuō)明 | 類型 | 必填 | 備注 |
---|---|---|---|---|
left | 距離地圖的左邊界多遠(yuǎn) | number | 否 | 默認(rèn)為0 |
top | 距離地圖的上邊界多遠(yuǎn) | number | 否 | 默認(rèn)為0 |
width | 控件寬度 | number | 否 | 默認(rèn)為圖片寬度 |
height | 控件高度 | number | 否 | 默認(rèn)為圖片高度 |
屬性 | 說(shuō)明 | 類型 | 備注 |
---|---|---|---|
type | 視野變化開(kāi)始、結(jié)束時(shí)觸發(fā) | string | 視野變化開(kāi)始為begin,結(jié)束為end |
causedBy | 導(dǎo)致視野變化的原因 | string | 拖動(dòng)地圖導(dǎo)致(drag)、縮放導(dǎo)致(scale)、調(diào)用接口導(dǎo)致(update) |
scale | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
比例 | 1000km | 500km | 200km | 100km | 50km | 50km | 20km | 10km | 5km |
scale | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
比例 | 2km | 1km | 500m | 200m | 100m | 50m | 50m | 20m | 10m |
<!-- map.wxml -->
<map id="map" longitude="113.324520" latitude="23.099994" scale="14" controls="{{controls}}" bindcontroltap="controltap" markers="{{markers}}" bindmarkertap="markertap" polyline="{{polyline}}" bindregionchange="regionchange" show-location style="width: 100%; height: 300px;"></map>
// map.js
Page({
data: {
markers: [{
iconPath: "/resources/others.png",
id: 0,
latitude: 23.099994,
longitude: 113.324520,
width: 50,
height: 50
}],
polyline: [{
points: [{
longitude: 113.3245211,
latitude: 23.10229
}, {
longitude: 113.324520,
latitude: 23.21229
}],
color:"#FF0000DD",
width: 2,
dottedLine: true
}],
controls: [{
id: 1,
iconPath: '/resources/location.png',
position: {
left: 0,
top: 300 - 50,
width: 50,
height: 50
},
clickable: true
}]
},
regionchange(e) {
console.log(e.type)
},
markertap(e) {
console.log(e.detail.markerId)
},
controltap(e) {
console.log(e.detail.controlId)
}
})
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: