# map
基礎(chǔ)庫(kù) 1.0.0 開(kāi)始支持,低版本需做兼容處理。
微信 Windows 版:支持
微信 Mac 版:支持
微信 鴻蒙 OS 版:支持
相關(guān)文檔: wx.createMapContext
渲染框架支持情況:Skyline (使用最新 Nightly 工具調(diào)試)、WebView
# 功能描述
地圖 v2.7.0 起支持同層渲染。
map組件提供了地圖展示、交互、疊加點(diǎn)線面及文字等功能,同時(shí)支持個(gè)性化地圖樣式,可結(jié)合地圖服務(wù) API 實(shí)現(xiàn)更豐富功能。
為了更好的提供地圖服務(wù),請(qǐng)?jiān)谡{(diào)用 map 組件之前,先前往騰訊位置服務(wù)官網(wǎng)注冊(cè)一個(gè)專屬 KEY,在地圖開(kāi)發(fā)過(guò)程中,可以將這個(gè)專屬 KEY 通過(guò) subkey 參數(shù)傳入;后續(xù)如遇到地圖開(kāi)發(fā)問(wèn)題也可以在騰訊位置服務(wù)官網(wǎng)工單系統(tǒng)提交工單反饋解決;
# 地圖個(gè)性化樣式組件
地圖個(gè)性化樣式組件是騰訊位置服務(wù)為開(kāi)發(fā)者提供的地圖高級(jí)能力,開(kāi)發(fā)者可以在法律允許的范圍內(nèi)定制地圖風(fēng)格,支持定制背景面、背景線、道路、POI等地圖元素顏色、顯示層級(jí)等內(nèi)容;支持按照類型精細(xì)化管理POI的顯示、隱藏;靈活地設(shè)計(jì)貼合業(yè)務(wù)場(chǎng)景的心儀地圖。
購(gòu)買(mǎi)該能力后,您可以在 MP平臺(tái)「管理->付費(fèi)管理->概覽->地圖個(gè)性化樣式->去使用」中創(chuàng)建配置您的地圖個(gè)性化樣式,您可以選擇我們提供的基礎(chǔ)及高級(jí)模版,也可以通過(guò)在線編輯平臺(tái),對(duì)多種地圖元素的樣式進(jìn)行自定義設(shè)置,以滿足在不同場(chǎng)景下的個(gè)性化需求。
注意:
- 自2023年6月29日0點(diǎn)起,該能力需要先購(gòu)買(mǎi)再使用。若未購(gòu)買(mǎi),屆時(shí)將無(wú)法使用該能力。具體購(gòu)買(mǎi)方式見(jiàn) 付費(fèi)管理。
- 自2023年6月29日0時(shí)起,個(gè)性化地圖配置界面的入口統(tǒng)一為微信公眾平臺(tái)-付費(fèi)管理,請(qǐng)從此入口進(jìn)入,騰訊位置服務(wù)官網(wǎng)入口不再使用。已經(jīng)在小程序生效的個(gè)性化樣式配置,將于2023年6月29日0時(shí)變更為默認(rèn)樣式,如有個(gè)性化樣式配置需求,請(qǐng)于6月29日0時(shí)前,前往微信公眾平臺(tái)-付費(fèi)管理進(jìn)行相關(guān)能力的開(kāi)通和配置。
# 地圖服務(wù)API
地圖服務(wù)API 與map組件基于同一套數(shù)據(jù)體系,無(wú)縫貼合,疊加使用可實(shí)現(xiàn)更豐富的功能。 提供:地點(diǎn)搜索、關(guān)鍵詞輸入提示、正/逆地址解析(經(jīng)緯度與地址互轉(zhuǎn))駕車與步行路線規(guī)劃等功能。
詳情見(jiàn):地圖服務(wù)API在小程序中的使用方法
若開(kāi)發(fā)者使用通過(guò)LBS開(kāi)放平臺(tái)自行申請(qǐng)的服務(wù)賬號(hào),在小程序連接并調(diào)用位置服務(wù)產(chǎn)品用于商業(yè)行為(政府公共事務(wù)及公益組織事務(wù)除外),騰訊位置服務(wù)有權(quán)收取商業(yè)授權(quán)費(fèi),詳細(xì)內(nèi)容可以查看或咨詢騰訊微位置服務(wù)官網(wǎng)
# 深入控制地圖
通過(guò)微信小程序API中wx.createMapContext方法,創(chuàng)建 map 上下文 MapContext 對(duì)象,通過(guò)其實(shí)現(xiàn)更細(xì)粒度的地圖交互和功能,包括:控制地圖視野、獲取地圖位置與視角等信息、marker移動(dòng)(軌跡回放)、動(dòng)態(tài)創(chuàng)建個(gè)性化圖層、拉起地圖APP選擇導(dǎo)航等
# 小程序插件
現(xiàn)成插件簡(jiǎn)單接入,提供:路線規(guī)劃、地圖選點(diǎn)、城市選擇器、地鐵圖 常用功能。
詳情見(jiàn):小程序地圖插件使用指南
# 開(kāi)源示例中心
包含Map組件、服務(wù)API、插件等功能使用方法,全面了解小程序下的所有地圖能力。示例內(nèi)容源碼開(kāi)放,降低各位開(kāi)發(fā)者接入成本。

# 地圖基礎(chǔ)屬性
# 屬性說(shuō)明
| 屬性 | 類型 | 默認(rèn)值 | 必填 | 說(shuō)明 | 最低版本 |
|---|---|---|---|---|---|
| longitude | number | 是 | 中心經(jīng)度 | 1.0.0 | |
| latitude | number | 是 | 中心緯度 | 1.0.0 | |
| scale | number | 16 | 否 | 縮放級(jí)別,取值范圍為3-20 | 1.0.0 |
| min-scale | number | 3 | 否 | 最小縮放級(jí)別 | 2.13.0 |
| max-scale | number | 20 | 否 | 最大縮放級(jí)別 | 2.13.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,不支持動(dòng)態(tài)修改 | 2.3.0 | |
| layer-style | number | 1 | 否 | 地圖能力【個(gè)性化地圖】配置的 style | |
| 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-auto-max-overlooking | boolean | false | 否 | 開(kāi)啟最大俯視角,俯視角度從 45 度拓展到 75 度 | 2.26.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 |
| enable-poi | boolean | true | 否 | 是否展示 POI 點(diǎn) | 2.14.0 |
| enable-building | boolean | 否 | 是否展示建筑物 | 2.14.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 | |
| bindpolylinetap | eventhandle | 否 | 點(diǎn)擊地圖路線時(shí)觸發(fā),e.detail = {longitude, latitude} | 3.1.0 | |
| bindabilitysuccess | eventhandle | 否 | 地圖能力生效時(shí)觸發(fā),e.detail = {ability, errCode, errMsg} | ||
| bindabilityfail | eventhandle | 否 | 地圖能力失敗時(shí)觸發(fā),e.detail = {ability, errCode, errMsg} | ||
| bindauthsuccess | eventhandle | 否 | 地圖鑒權(quán)結(jié)果成功時(shí)觸發(fā),e.detail = {errCode, errMsg} | ||
| bindinterpolatepoint | eventhandle | 否 | MapContext.moveAlong 插值動(dòng)畫(huà)時(shí)觸發(fā)。e.detail = {markerId, longitude, latitude, animationStatus: "interpolating" | "complete"}, | 3.1.0 | |
| binderror | eventhandle | 否 | 組件錯(cuò)誤時(shí)觸發(fā),例如創(chuàng)建或鑒權(quán)失敗,e.detail = {longitude, latitude} |
# regionchange 返回值
視野改變時(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)致)。
e = {causedBy, type, detail: {rotate, skew, scale, centerLocation, region}}
# setting
提供 setting 對(duì)象統(tǒng)一設(shè)置地圖配置。同時(shí)對(duì)于一些動(dòng)畫(huà)屬性如 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
}
})
# marker
標(biāo)記點(diǎn)用于在地圖上顯示標(biāo)記的位置。
注:可結(jié)合地圖服務(wù)API - 地點(diǎn)搜索 實(shí)現(xiàn)地圖搜索功能。
| 屬性 | 說(shuō)明 | 類型 | 必填 | 備注 | 最低版本 |
|---|---|---|---|---|---|
| id | 標(biāo)記點(diǎn) id | number | 是 | marker 點(diǎn)擊事件回調(diào)會(huì)返回此 id。 | |
| clusterId | 聚合簇的 id | Number | 否 | 自定義點(diǎn)聚合簇效果時(shí)使用 | |
| joinCluster | 是否參與點(diǎn)聚合 | Boolean | 否 | 默認(rèn)不參與點(diǎn)聚合 | |
| 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 |
| customCallout | 自定義氣泡窗口 | Object | 否 | 支持的屬性見(jiàn)下表 | |
| 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 | |
| collisionRelation | 碰撞關(guān)系 | string | 否 | 詳見(jiàn)下表碰撞關(guān)系 | 3.4.3 |
| collision | 碰撞類型 | string | 否 | 詳見(jiàn)下表碰撞關(guān)系 | 3.4.3 |
# marker 碰撞關(guān)系
在一定范圍內(nèi)繪制多個(gè) Marker 時(shí),常會(huì)出現(xiàn) Marker 壓蓋的情況,3.4.3 起支持設(shè)置碰撞關(guān)系。
# 碰撞目標(biāo)
默認(rèn) Marker 不參與碰撞,collision 用于設(shè)置是否參與碰撞,支持枚舉值 poi、marker,多類型時(shí)按 "," 分割。
poi: 和 poi 點(diǎn)碰撞后隱藏 poi
marker: 和 marker 碰撞后隱藏自己或被碰的 marker
發(fā)送碰撞時(shí),按 zIndex 區(qū)分優(yōu)先級(jí),優(yōu)先級(jí)低的將會(huì)被隱藏。
例如 collision 設(shè)置為 poi,marker,表示與 poi 和 marker 均會(huì)參與碰撞。
# 整體碰撞或區(qū)域碰撞
Marker 的各個(gè)部分,包括 iconPath、callout、label 等,可以作為一個(gè)整體參與碰撞,也可獨(dú)立開(kāi)來(lái)。
collision-relation 屬性支持 alone 和 together 兩種值。
together: 作為整體參與碰撞后隱藏,此時(shí)忽略各部件 callout 和 label 的 collision 屬性。
alone:獨(dú)立參與碰撞后隱藏,此時(shí)各部件 callout 和 label 可單獨(dú)設(shè)置 collision 屬性,未填寫(xiě)時(shí)則與主 Marker 保持一致。
# marker 上的氣泡 callout
| 屬性 | 說(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 |
| collision | 碰撞類型 | string | 3.4.3 |
# marker 上的自定義氣泡 customCallout
customCallout 存在時(shí)將忽略 callout 與 title 屬性。自定義氣泡采用 cover-view 定制,靈活度更高。
| 屬性 | 說(shuō)明 | 類型 | 最低版本 |
|---|---|---|---|
| display | 'BYCLICK':點(diǎn)擊顯示; 'ALWAYS':常顯 | string | 2.12.0 |
| anchorX | 橫向偏移量,向右為正數(shù) | number | 2.12.0 |
| anchorY | 縱向偏移量,向下為正數(shù) | number | 2.12.0 |
使用方式如下,map 組件下添加名為 callout 的 slot 節(jié)點(diǎn),其內(nèi)部的 cover-view 通過(guò) marker-id 屬性與 marker 綁定。當(dāng) marker 創(chuàng)建時(shí),該 cover-view 顯示的內(nèi)容將作為 callout 顯示在標(biāo)記點(diǎn)上方。
<map>
<cover-view slot="callout">
<cover-view marker-id="1"></cover-view>
<cover-view marker-id="2"></cover-view>
</cover-view>
</map>
示例DEMO: https://developers.weixin.qq.com/s/cZWIojm47pjN
# marker 上的氣泡 label
| 屬性 | 說(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 |
| collision | 碰撞類型 | string | 3.4.3 |
# 點(diǎn)聚合
當(dāng)?shù)貓D上需要展示的標(biāo)記點(diǎn) marker 過(guò)多時(shí),可能會(huì)導(dǎo)致界面上 marker 出現(xiàn)壓蓋,展示不全,并導(dǎo)致整體性能變差。針對(duì)此類問(wèn)題,推出點(diǎn)聚合能力。
使用流程如下:
- MapContext.initMarkerCluster 對(duì)聚合點(diǎn)進(jìn)行初始化配置(可選);
- MapContext.addMarkers 指定參與聚合的 marker;
MapContext.on('markerClusterCreate', callback)觸發(fā)時(shí),通過(guò) MapContext.addMarkers 更新聚合簇的樣式 (可選);- MapContext.removeMarkers 移除參與聚合的 marker;
# 示例代碼
需注意的是:
- 地圖上的 marker 分為普通的 marker 與參與聚合的 marker,參與聚合時(shí)需指定屬性 joinCluster 為 true;
- 自定義聚合簇樣式時(shí),同樣通過(guò) MapContext.addMarkers 進(jìn)行繪制,此時(shí)需攜帶 clusterId。
# polyline
指定一系列坐標(biāo)點(diǎn),從數(shù)組第一項(xiàng)連線至最后一項(xiàng)。繪制彩虹線時(shí),需指定不同分段的顏色,如 points 包含 5 個(gè)點(diǎn),則 colorList 應(yīng)傳入 4 個(gè)顏色值;若 colorList 長(zhǎng)度小于 points.length - 1,則剩下的分段顏色與最后一項(xiàng)保持一致。
注:可結(jié)合 地圖服務(wù)API - 駕車路線規(guī)劃,實(shí)現(xiàn)路線計(jì)算與展示。
| 屬性 | 說(shuō)明 | 類型 | 必填 | 備注 | 最低版本 |
|---|---|---|---|---|---|
| points | 經(jīng)緯度數(shù)組 | array | 是 | [{latitude: 0, longitude: 0}] | |
| color | 線的顏色 | string | 否 | 十六進(jìn)制 | |
| colorList | 彩虹線 | array | 否 | 存在時(shí)忽略 color 值 | 2.13.0 |
| 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 | |
| level | 壓蓋關(guān)系 | string | 否 | 默認(rèn)為 abovelabels | 2.14.0 |
| textStyle | 文字樣式 | TextStyle | 否 | 折線上文本樣式 | 2.22.0 |
| segmentTexts | 分段文本 | Array<SegmentText> | 否 | 折線上文本內(nèi)容和位置 | 2.22.0 |
注:textStyle 與 segmentTexts 結(jié)合可在折線線段上面繪制文字,用來(lái)顯示路名。
# SegmentText
| 屬性 | 說(shuō)明 | 類型 | 默認(rèn)值 |
|---|---|---|---|
| name | 名稱 | string | '' |
| startIndex | 起點(diǎn) | number | |
| endIndex | 終點(diǎn) | number |
# TextStyle
| 屬性 | 說(shuō)明 | 類型 | 默認(rèn)值 |
|---|---|---|---|
| textColor | 文本顏色 | string | #000000 |
| strokeColor | 描邊顏色 | string | #ffffff |
| fontSize | 文本大小 | number | 14 |
level 字段表示與其它地圖元素的壓蓋關(guān)系,可選值如下:
| 值 | 說(shuō)明 | 最低版本 |
|---|---|---|
| abovelabels | 顯示在所有 POI 之上 | 2.14.0 |
| abovebuildings | 顯示在樓塊之上 POI 之下 | 2.14.0 |
| aboveroads | 顯示在道路之上樓塊之下 | 2.14.0 |
# polygon
指定一系列坐標(biāo)點(diǎn),根據(jù) points 坐標(biāo)數(shù)據(jù)生成閉合多邊形
| 屬性 | 說(shuō)明 | 類型 | 必填 | 備注 | 最低版本 |
|---|---|---|---|---|---|
| dashArray | 邊線虛線 | Array<number> | 否 | 默認(rèn)值 [0, 0] 為實(shí)線,[10, 10]表示十個(gè)像素的實(shí)線和十個(gè)像素的空白(如此反復(fù))組成的虛線 | 2.22.0 |
| 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 | |
| level | 壓蓋關(guān)系 | string | 否 | 默認(rèn)為 abovelabels | 2.14.0 |
# circle
在地圖上顯示圓
| 屬性 | 說(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 | 否 | |
| level | 壓蓋關(guān)系 | string | 否 | 默認(rèn)為 abovelabels |
# control
在地圖上顯示控件,控件不隨著地圖移動(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)擊 |
# position
| 屬性 | 說(shuō)明 | 類型 | 必填 | 備注 |
|---|---|---|---|---|
| left | 距離地圖的左邊界多遠(yuǎn) | number | 否 | 默認(rèn)為0 |
| top | 距離地圖的上邊界多遠(yuǎn) | number | 否 | 默認(rèn)為0 |
| width | 控件寬度 | number | 否 | 默認(rèn)為圖片寬度 |
| height | 控件高度 | number | 否 | 默認(rèn)為圖片高度 |
# bindregionchange 返回值
| 屬性 | 說(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 | 25km | 20km | 10km | 5km |
| scale | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 比例 | 2km | 1km | 500m | 200m | 100m | 50m | 20m | 10m | 5m |
# bindabilitysuccess、bindabilityfail 和 binderror 的返回值
bindabilitysuccess 和 bindabilityfail 事件具有額外的參數(shù) ability 來(lái)指示是何種地圖能力,可能的取值有: layer-style。
共同參數(shù)如下 errCode 的定義如下:
| errCode | 說(shuō)明 | |
|---|---|
| 無(wú) | 地圖創(chuàng)建失敗 | |
| 0 | 成功 | |
| [-100, -500] | 服務(wù)器鑒權(quán)錯(cuò)誤 | |
| 1000 | 網(wǎng)絡(luò)鏈路錯(cuò)誤 | |
| 1001 | 內(nèi)部錯(cuò)誤 | |
| 1400001 | 欠費(fèi) |
# 示例代碼
# Bug & Tip
tip:個(gè)性化地圖暫不支持工具中調(diào)試。請(qǐng)先使用微信客戶端進(jìn)行測(cè)試。tip:地圖中的顏色值color/borderColor/bgColor等需使用6位(8位)十六進(jìn)制表示,8位時(shí)后兩位表示alpha值,如:#000000AAtip:地圖組件的經(jīng)緯度必填, 如果不填經(jīng)緯度則默認(rèn)值是北京的經(jīng)緯度。tip:map組件使用的經(jīng)緯度是火星坐標(biāo)系,調(diào)用 wx.getLocation 接口需要指定type為gcj02tip:從 2.8.0 起 map 支持同層渲染,更多請(qǐng)參考原生組件使用限制tip:請(qǐng)注意原生組件使用限制。tip: 若當(dāng)前組件所在的頁(yè)面或全局開(kāi)啟了enablePassiveEvent配置項(xiàng),該內(nèi)置組件可能會(huì)出現(xiàn)非預(yù)期表現(xiàn)(詳情參考 enablePassiveEvent 文檔)