Skip to content

地圖組件

map

  • 功能說明:地圖,該組件是 原生組件 ,使用時請注意相關限制,相關API可參見 wx.createMapContext

  • 支持度說明::

  • 系統地圖:僅iOS支持。

  • 穀歌地圖:Android支持、IDE支持。

  • 華為地圖:僅Android支持。

  • 騰訊地圖:IOS支持、Android支持、IDE支持。

  • 參數及說明:

内容類型預設值必填說明iOS支持度Android支持度IDE支持度
typestringtencent地圖類型,tencent或google
longitudenumber-中心經度
latitudenumber-中心緯度
scalenumber16縮放級別,取值範圍為3~20
min-scalenumber3最小縮放級別
max-scalenumber20最大縮放級別
markersarray.marker-標記點
polylinearray.polyline-路線
circlesarray.circle-
controlsArray.control-控制項(即將廢棄,建議使用cover-view代替)
include-pointsarray.point-縮放視野以包含所有給定的座標點
show-locationbooleanfalse顯示帶有方向的當前定位點
polygonsarray.polygon-多邊形
subkeystring-個性化地圖使用的key
layer-stylenumber1地圖能力【個性化地圖】配置的style
rotatenumber0旋轉角度,範圍0~360,地圖正北與設備y軸的夾角角度
skewnumber0傾斜角度,範圍0 ~ 40,關於z軸的傾角系統地圖:否
騰訊地圖:是
百度地圖:是
高德地圖:是
enable-3Dbooleanfalse展示3D樓塊系統地圖:否
騰訊地圖:是
百度地圖:否
高德地圖:否
穀歌地圖:是
華為地圖:是
騰訊地圖:是
百度地圖:是
高德地圖:否
show-compassbooleanfalse顯示指南針
show-scalebooleanfalse顯示比例尺穀歌地圖:否
華為地圖:否
騰訊地圖:是
百度地圖:是
高德地圖:是
enable-overlookingbooleanfalse開啟俯視系統地圖:否
騰訊地圖:是
百度地圖:是
高德地圖:是
enable-zoombooleantrue是否支持縮放視圖容器。視圖容器。
enable-scrollbooleantrue是否支持拖動視圖容器。
enable-rotateboolean-是否支持旋轉
enable-satellitebooleanfalse是否開啟衛星圖穀歌地圖:是
華為地圖:否
騰訊地圖:是
百度地圖:是
高德地圖:是
是 type=google
enable-trafficbooleanfalse是否開啟實时路况
enable-poibooleantrue是否展示POI點系統地圖:否
騰訊地圖:是
百度地圖:是
高德地圖:否
穀歌地圖:是

騰訊地圖:是
百度地圖:是
高德地圖:是
視圖容器。 type=google
enable-buildingbooleanfalse是否展示建築物系統地圖:否
系統地圖:是
騰訊地圖:否
騰訊地圖:是
icon的類型,有效值: success,success_no_circle,info,warn,waiting,cancel,download,search,clear視圖容器。 type=google
settingobject-配置項
bindtapeventhandle-按一下地圖時觸發,返回經緯度資訊
bindlabeltapeventhandle-點擊標記點時觸發 e.detail = {markerId}
bindmarkertapeventhandle-點選 label 時觸發,e.detail = {markerId}是 type=tencent
bindcontroltapeventhandle-點選控制項時觸發,e.detail = {controlId}
bindcallouttapeventhandle-點擊標記點對應的氣泡時觸發 e.detail = {markerId}
bindupdatedeventhandle-在地圖渲染更新完成時觸發
bindregionchangeeventhandle-視野發生變化時觸發
bindpoitapeventhandle-點擊地圖 poi 點時觸發 e.detail = {name, longitude, latitude}
bindanchorpointtapeventhandle-點選定位標時觸發,e.detail = {longitude, latitude}

TIP

  • 地圖中的顏色值color/borderColor/bgColor等需使用6位(8位)十六進位表示,8比特時後兩位表示alpha值,如:# 000000AA。
  • 地圖組件的經緯度必填。
  • map組件使用的經緯度是火星坐標系,調用wx.getLocation接口需要指定type為gcj02。

regionchange 返回值:

視野改變時,regionchange會觸發兩次,返回的type值分別為begin和end。

  • begin階段返回causedBy:有效值為gesture(手勢觸發)、update(接口觸發)。
  • end階段返回causedBy:有效值為drag(拖動導致)、scale(縮放導致)、update(調用更新接口導致)。
js
e = {
  causedBy,
  type,
  detail: { rotate, skew, scale, centerLocation, region },
};

setting

提供setting對象統一設定地圖配置。 同時對於一些動畫内容如rotate和skew,通過setData分開設定時無法同時生效,需通過settting統一修改。

js
// Default values
const setting = {
  rotate: 0,
  showLocation: false,
  subKey: "",
  layerStyle: 1,
  enableZoom: true,
  enableScroll: true,
  enableRotate: false,
  showCompass: false,
  enableSatellite: false,
};

this.setData({
  // Changes only affect the properties involved in the setting object; other properties remain unaffected.
  setting: {
    enableZoom: false,
    enableScroll: false,
  },
});

marker

標記點,用於在地圖上顯示標記的位置。

内容
類型
預設值
必填
說明
iOS支持度
Android支持度
IDE支持度
id
標記點id
number
marker點擊事件回檔會返回此id。 建議為每個marker設定ID,保證更新marker時有更好的效能。
clusterId
聚合簇的id
number
自定義點聚合簇效果時使用
joinCluster
是否參與點聚合
boolean
默認不參與點聚合
穀歌地圖:是
華為地圖:是
騰訊地圖:是
百度地圖:是
高德地圖:否
latitude
緯度
number
浮點數,範圍-90 ~ 90
longitude
經度
number
浮點數,範圍-90 ~ 90
title
標注點名
string
點擊時顯示,callout存在時將被忽略
是 type=tencent
zIndex
顯示層級
number
-
iconPath
顯示的圖標
string
項目目錄下的圖片路徑,支持網絡路徑、本地路徑、代碼包路徑
rotate
旋轉角度
number
順時針旋轉的角度,範圍0~360,默認為0
是ype=tencent
alpha
標注的透明度
number
默認1,無透明,範圍0~1
是ype=tencent
width
標注圖標寬度
number/string
默認為圖片實際寬度
height
標注圖標高度
number/string
默認為圖片實際高度
callout
標記點上方的氣泡視窗
object
支持的内容見下錶,可識別分行符號
customCallout
自定義氣泡視窗
object
支持的内容見下錶
label
為標記點旁邊新增標籤
object
支持的内容見下錶,可識別分行符號
anchor
經緯度在標注圖標的錨點,默認底邊中點
object
{x, y},x 表示橫向(0-1),y 表示垂直(0-1)。 {x: .5, y: 1} 表示底邊中點

marker上的氣泡callout

内容
說明
類型
iOS支持度
Android支持度
IDE支持度
content
文字
string
color
文字顏色
string
fontSize
文字大小
number
borderRadius
邊框圓角
number
borderWidth
邊框寬度
number
borderColor
邊框顏色
string
bgColor
背景色
string
padding
文字編譯留白
number
display
BYCLICK':點擊顯示;' ALWAYS': 常顯
string
textAlign
文字對齊管道。 有效值: left, right, center
string
anchorX
橫向偏移量,向右為正數
number
穀歌地圖:是
華為地圖:是
騰訊地圖:是
百度地圖:否
高德地圖:是
anchorY
縱向偏移量,向下為正數
number
穀歌地圖:是
華為地圖:是
騰訊地圖:是
百度地圖:否
高德地圖:是

marker上的自定義氣泡customCallout

customCallout存在時將忽略callout與title内容。 自定義氣泡採用cover-view定制,靈活度更高。

内容
類型
預設值
iOS支持度
Android支持度
IDE支持度
display
BYCLICK':點擊顯示;' ALWAYS': 常顯
string
anchorX
橫向偏移量,向右為正數
number
anchorY
縱向偏移量,向下為正數
number

使用管道如下,map組件下添加名為callout的slot節點,其內部的cover-view通過marker-id内容與marker綁定。 當marker創建時,該cover-view顯示的內容將作為callout顯示在標記點上方。

js
<map>
  <cover-view slot="callout">
    <cover-view marker-id="1"></cover-view>
    <cover-view marker-id="2"></cover-view>
  </cover-view>
</map>

marker上的氣泡label

内容類型預設值iOS支持度Android支持度IDE支持度
content文字string
color文字顏色string
fontSize文字大小number
anchorXlabel的座標,原點是marker對應的經緯度number
anchorYlabel的座標,原點是marker對應的經緯度number
borderWidth邊框寬度number
borderColor邊框顏色string
borderRadius邊框圓角number
bgColor背景色string
padding文字編譯留白number
textAlign文字對齊管道。 有效值: left, right, centerstring

點聚合

  • 功能說明當地圖上需要展示的標記點marker過多時,可能會導致介面上marker出現壓蓋,展示不全,並導致整體效能變差,針對此類問題,推出點聚合能力。

  • 系統地圖(僅iOS支持)

    使用流程如下:

  • 穀歌地圖(僅Android支持)

    使用方法為添加marker時指定joinCluster即可,符合條件的marker將會自動進行聚合。

polyline

  • 功能說明指定一系列座標點,從數組第一項連線至最後一項,繪製彩虹線時,需指定不同分段的顏色,如points包含5個點,則colorList應傳入4個顏色值; 若colorList長度小於points.length - 1,則剩下的分段顏色與最後一項保持一致。

内容
類型
預設值
必填
備註
iOS支持度
Android支持度
IDE支持度
points
經緯度數組
Array
[{latitude: 0, longitude: 0}]
color
線的顏色
string
十六進位
colorList
彩虹線
Array
存在時忽略color值
穀歌地圖:否
華為地圖:否
騰訊地圖:是
百度地圖:是
高德地圖:是
width
線的寬度
number
dottedLine
是否虛線
boolean
默認false
arrowLine
是否虛線
boolean
-
arrowIconPath
更換箭頭圖標
string
-
borderColor
線的邊框顏色
string
-
穀歌地圖:否
華為地圖:否
騰訊地圖:是
百度地圖:否
高德地圖:否
borderWidth
線的厚度
number
-
穀歌地圖:否
華為地圖:否
騰訊地圖:是
百度地圖:否
高德地圖:否
level
壓蓋關係
string
默認為abovelabels
穀歌地圖:否
華為地圖:否
騰訊地圖:是
百度地圖:否
高德地圖:否
textStyle
文字樣式
TextStyle
折線上文字樣式
穀歌地圖:否
華為地圖:否
騰訊地圖:是
百度地圖:否
高德地圖:否
segmentTexts
分段文字
Array.SegmentText
折線上文字內容和位置
穀歌地圖:否
華為地圖:否
騰訊地圖:是
百度地圖:否
高德地圖:否

SegmentText

内容說明類型
name名稱string
startIndex起點number
endIndex終點number

TextStyle

内容說明類型預設值
textColor文字顏色string#000000
strokeColor描邊顏色number#ffffff
fontSize文字大小number14
level欄位表示與其它地圖元素的壓蓋關係,可選值如下:
說明
abovelabels顯示在所有POI之上
abovebuildings顯示在樓塊之上POI之下
aboveroads顯示在道路之上樓塊之下

polygon

  • 說明指定一些列座標點,根據points座標數據生成閉合多邊形

内容
說明
預設值
必填
備註
iOS支持度
Android支持度
IDE支持度
dashArray
邊線虛線
Array.number
預設值 [0, 0] 為實線,[10, 10]表示十個像素的實線和十個像素的空白(如此反覆)組成的虛線
穀歌地圖:否
華為地圖:否
騰訊地圖:是
百度地圖:否
高德地圖:否
points
經緯度數組
array
[{latitude: 0, longitude: 0}]
strokeWidth
描邊的寬度
number
-
strokeColor
描邊的顏色
string
十六進位
fillColor
填充顏色
string
十六進位
zIndex
設定多邊形Z軸數值
number
-
level
壓蓋關係
string
默認為abovelabels
穀歌地圖:否
華為地圖:否
騰訊地圖:是
百度地圖:否
高德地圖:否

circle

  • 功能說明: 在地圖上顯示圓

内容
說明
預設值
必填
備註
iOS支持度
Android支持度
IDE支持度
latitude
緯度
number
預設值 [0, 0] 為實線,[10, 10]表示十個像素的實線和十個像素的空白(如此反覆)組成的虛線
longitude
經度
number
浮點數,範圍-180 ~ 180
color
描邊的顏色
string
浮點數,範圍-180 ~ 180
fillColor
填充顏色
string
十六進位
radius
半徑
number
-
strokeWidth
描邊的寬度
number
-
level
壓蓋關係
string
默認為abovelabels
穀歌地圖:否
華為地圖:否
騰訊地圖:是
百度地圖:否
高德地圖:否

control

  • 在地圖上顯示控制項,控制項不隨著地圖移動,即將廢棄,推薦使用cover-view
内容
類型
預設值
必填
備註
iOS支持度
Android支持度
IDE支持度
id
控制項id
number
在控制項點擊事件會回檔會返回此id
position
控件在地圖的位置
object
控件在地圖的位置
iconPath
顯示的圖標
string
項目目錄下的圖片路徑,支持本地路徑、代碼包路徑
clickable
是否可點擊
boolean
默認不可點擊

position

内容
類型
預設值
必填
備註
iOS支持度
Android支持度
IDE支持度
left
距離地圖的左邊界多遠
number
默認為0
top
距離地圖的上邊界多遠
number
默認為0
width
空間寬度
number
默認為圖片寬度
height
空間高度
number
默認為圖片高度

bindregionchange返回值

内容
說明
類型
備註
type
視野變化開始、結束時觸發
string
視野變化開始為begin,結束為end
causedBy
導致視野變化的原因
string
拖動地圖導致(drag)、縮放導致(scale)、調用接口導致(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