1 MAP對(duì)象
該Map毒性代表您的網(wǎng)頁(yè)上的地圖。他公開(kāi)了方法和屬性,是您能夠以編程方式更改地圖,并在用戶與之交互時(shí)觸發(fā)事件。
您可以使用Map指定一個(gè)地圖的容器container配合其它選項(xiàng)來(lái)創(chuàng)建一個(gè)地圖。然后Emapgo.Js會(huì)初始化頁(yè)面上的地圖并返回這個(gè)Map對(duì)象。
new Map(options: Object)
參數(shù)
說(shuō)明:options(Object)
使用方法:
<!--在這里插入內(nèi)容-->
var map = new emapgo.Map({
container : 'map',
mainZoom : 6,
attributionControl: true,
center: [-122.420679,37.772537],
zoom: 13,
style: style_object,
hash: true,
transformRequest: (url,resourceType)=> {
if(resourceType == 'Source' && url.startsWith('http://muHost')){
return {
url: url.replace('http','https'),
headersL {'my-custom-header':true},
credentials: 'include' //為跨源請(qǐng)求包含cookie
}
}
}
...
})
名稱(chēng)
1 container:(HTMLElement \ string)
2 minZoom: number (默認(rèn) 0)
3 maxZoom: number(默認(rèn)為22)
4 style: (Object \ string)
5 hash boolean (默認(rèn)false)
6 interactive boolean (默認(rèn)為 true)
7 bearingSnap number (默認(rèn)為7)
8 pitchWithRotate boolean (默認(rèn)為true)
9 attributionControl boolean (默認(rèn)為true)
10 logoPosition string (默認(rèn) 'boottom-left')
11 faillfMajorPerformanceCaveat boolean (默認(rèn)為false)
12 preserveDrawingBuffer boolean (默認(rèn)為false)
13 refreshExpiredTiles boolean (默認(rèn)為true)
14 maxBounds LngLatBoundsLike
15 scrollZoom (boolean \ object) (默認(rèn)為true)
16 boxZoom boolean (默認(rèn)為true)
17 dragRotate boolean(默認(rèn)為true)
18 dragPan boolean (默認(rèn)為true)
19 keyboard boolean (默認(rèn)為true)
20 doubleClickZoom boolean(默認(rèn)為true)
21 touchZoomRotate (boolean \ Object) (默認(rèn)為true)
22 center LngLatLike (默認(rèn)為[0,0])
23 zoom number (默認(rèn)為0)
24 trackResize boolean (默認(rèn)為true)
25 bearing number (默認(rèn)為0)
26 pitch number (默認(rèn)為0)
27 renderWorldCopies boolean (默認(rèn)為true)
28 maxTileCacheSize number (默認(rèn)為null)
29 localldeographFontFamily sting (默認(rèn)為null)
30 transformRequest RequestTransformFunction (默認(rèn)為null)
31 collectResourceTiming boolean (默認(rèn)為false)
32 fadeDuration number (默認(rèn)300)
33 crossSourceCollisions boolean (默認(rèn)為true)
2 實(shí)例成員
// 用法
map.scrollZoom.enable();
map.keyboard.enable(); //啟用鍵盤(pán)控制角度
...
1 scrollZoom
Map的滾動(dòng)縮放程序,通過(guò)滾輪或觸控板數(shù)顯放大和縮小,(可以參照 用戶交互 里面的scrollZoom)
2 boxZoom
Map的縮放處理程序,按下Shift鍵用鼠標(biāo)選中區(qū)域進(jìn)行縮放。(可以參照 用戶交互 里面的BoxZoom)
3 dragRotate
Map的拖動(dòng)旋轉(zhuǎn)處理程序,他在拖動(dòng)鼠標(biāo)右鍵或按下控制鍵時(shí)實(shí)現(xiàn)旋轉(zhuǎn)地圖。(可以參照 用戶交互 里面的dragRotate)
4 dragPan
Map的拖拽式處理程序,他用鼠標(biāo)或者觸摸手勢(shì)來(lái)拖動(dòng)地圖。(可以參照 用戶交互 里面的dragPan)
5 KeyboardHandler
Map的鍵盤(pán)處理程序,他允許用戶使用鍵盤(pán)快捷鍵縮放、旋轉(zhuǎn)和平移地圖。(可以參照 用戶交互 里面的Keyboard)
6 doubleClickZoom
Mapde 的雙擊縮放處理程序,允許用戶通過(guò)雙擊縮放。(可以參照 用戶交互 里面的doubleClickZoom)
7 TouchZoomRotateHander
Map的觸摸縮放旋轉(zhuǎn)處理程序,允許用戶用觸摸手勢(shì)來(lái)縮放或旋轉(zhuǎn)地圖。(可以參照 用戶交互 里面的TouchZoomRotate)
8 addControl(control,position)
在地圖上添加一個(gè)控件
參數(shù):
control(IControl):要添加的控件名字。
position(string): 有效值是'top-left','top-right','bottom-left','bottom-right'默認(rèn)值為'top-right'。
返回:
Map: this
var nav = new emapgo.NavigationControl();
map.addControl(nav, 'top-right');
9 removeControl(control)
從地圖中刪除控件
參數(shù) control: 控制器的名字
返回:
map: this
var nav = new emapgo.NavigationControl();
map.removeControl(nav)
10 resize(eventData)
根據(jù)容器元素的尺寸調(diào)整地圖。
這個(gè)方法必須在map的容器被另一個(gè)腳本調(diào)整后,或者在最初用CSS隱藏之后顯示地圖時(shí)調(diào)用此方法。
參數(shù):
eventData(Object).該方法觸發(fā)事件對(duì)象的附加屬性。
返回:
Map: this
還可以參照 demo實(shí)例 里面的mapResize。
11 getBounds()
返回地圖的地理邊界。
12 getMaxBounds()
得到地圖的最大地理邊界。
返回lnglat界限,在地圖上的平移和縮放操作收到限制。
返回:
(LngLatBounds | null): map被限制到的最大界限,如果沒(méi)有設(shè)置,則為null。
13 setMaxBounds(lnglatbounds)
設(shè)置或清除地圖的地理邊界。
平移和縮放這些操作將會(huì)在次范圍內(nèi)收到限制。如果執(zhí)行一個(gè)平移或縮放來(lái)而超出這些范圍的區(qū)域。那么地圖建輝顯示一個(gè)位置和縮放級(jí)別,盡可能接近操作的請(qǐng)求,同時(shí)仍然保持在邊界內(nèi)。
參數(shù):
lnglatbounds: (LngLatBoundsLike | null | undefined)設(shè)置的最大界限。如果提供null或未定義,該函數(shù)將刪除地圖的最大邊界。
在文檔的(地理位置)部分對(duì)LngLatBoundsLike參數(shù)警醒講解
返回:
Map: this
map.setMaxBounds([[-73.9876,40.7661],[-73.9397,40.8002]])
map.on('load',function(){
console.log(map.getMaxBounds())
});
14 setMinZoom(minZoom)
設(shè)置或清除地圖的最小縮放級(jí)別。地圖只能縮放到設(shè)置的最小值低于最小值的將不會(huì)進(jìn)行縮放。
參數(shù):
minZoom:((number | null | undefined))最小縮放級(jí)別設(shè)置 (0-24)如果提供null 或未定義,則該函數(shù)刪除當(dāng)前最小縮放(即將其設(shè)置為0)。
返回:
Map: this
15 getMinZoom()
返回地圖的最低允許縮放級(jí)別。
返回:
number:最低縮放級(jí)別
16 setMaxZoom(maxZoom)
設(shè)置或清除地圖的最大縮放級(jí)別,地圖最大只能縮放到設(shè)置的值。
參數(shù):
maxZoom(number | null | undefined)最大縮放級(jí)別設(shè)置。如果提供null或未定義,該函數(shù)將刪除當(dāng)前最大縮放(設(shè)置為22)。
17 getRenderWorldCopies()
返回渲染世界副本的狀態(tài)。
返回:
boolean
18 setRenderWorldCopies(boolean)
設(shè)置渲染世界副本的狀態(tài)
參數(shù):
boolean: 如果設(shè)置為true,那么當(dāng)縮小時(shí),將會(huì)呈現(xiàn)世界的多個(gè)副本。未定義的被視為true,null被視為false。
返回:
Map: this
19 getMaxZoom()
返回地圖的最大允許縮放級(jí)別。
返回:
number: maxZoom
20 project(lnglat)
返回一個(gè)指定的點(diǎn)咋容器當(dāng)中的坐標(biāo)(單位為像素)。
參數(shù):
lnglat: 要指定的地理位置坐標(biāo)
返回:
Point: 相對(duì)于地圖的容器,與lnglat對(duì)應(yīng)的點(diǎn)。
21 unproject(point)
返回一個(gè)與指定的像素坐標(biāo)相對(duì)象的地理坐標(biāo)(LngLat)。
參數(shù):
point:(PointLike) 要處理的像素坐標(biāo)
返回:
與像素坐標(biāo)對(duì)應(yīng)的地理坐標(biāo)
console.log(map.unproject({x: 411.9999999999925,y:330.5}))
22 isMoving()
如果由于相機(jī)動(dòng)畫(huà)或用戶手勢(shì)導(dǎo)致平移,縮放,旋轉(zhuǎn)或俯仰,則返回true、
返回:boolean
23 isZooming()
如果地圖時(shí)由于相機(jī)動(dòng)畫(huà)或用戶手勢(shì)而放大的。將會(huì)返回true
返回:
boolean
24 isRotating()
如果由于相機(jī)動(dòng)畫(huà)或用戶手勢(shì)而旋轉(zhuǎn),則返回true
返回:
boolean
25 on(type,layer,listener)
在指定樣式層的特性上增加一個(gè)特定類(lèi)型事件的偵聽(tīng)器
參數(shù):
type(string):要監(jiān)聽(tīng)的事件類(lèi)型;如('mouseleave','mouseover','mouseout','contextmenu','touchstart','touchend',or'touchcancel')當(dāng)光標(biāo)從該層外部或地圖畫(huà)布外部進(jìn)入指定層的可見(jiàn)部分時(shí),就會(huì)觸發(fā)mouseenter和mouseover事件,當(dāng)光標(biāo)離開(kāi)指定層的可見(jiàn)部分,或者離開(kāi)地圖畫(huà)布時(shí),會(huì)觸發(fā)mouseleave和mouseout事件.
lauer(string):樣式層的ID。只有在這一層的可見(jiàn)區(qū)域中執(zhí)行事件才會(huì)觸發(fā)偵聽(tīng)器。該事件將有一個(gè)包含匹配特性數(shù)組的特性屬性。
listener(Function):當(dāng)事件被觸發(fā)時(shí)將被調(diào)用的函數(shù)。
返回:
Map: this
26 on(type,listener)
為指定類(lèi)型的事件添加偵聽(tīng)器
參數(shù):
type(string):監(jiān)聽(tīng)的事件類(lèi)型。
listener(Function): 當(dāng)事件被觸發(fā)時(shí)要調(diào)用的函數(shù)。偵聽(tīng)器函數(shù)通過(guò)傳遞給fire,并使用target和type屬性進(jìn)行擴(kuò)展。
返回:
Map: this .
27 off(type,listener)
刪除先前添加了Map的事件監(jiān)聽(tīng)器
參數(shù):
type(string): 以前用于安裝監(jiān)聽(tīng)器的事件類(lèi)型。
listener(Function): 以前安裝為監(jiān)聽(tīng)器的函數(shù)。
返回:
Map: this .
28 off(type,layer,listener)
移除先前為特定圖層添加的事件監(jiān)聽(tīng)器。
參數(shù):
type(string): 以前用于安裝監(jiān)聽(tīng)器的事件類(lèi)型。
layer(string):以前用來(lái)安裝監(jiān)聽(tīng)器的層ID
listener(Function):先前安裝為偵聽(tīng)器的函數(shù)。
######返回:
Map: this
29 queryRenderedFeatures(geometry,options)
返回滿足查詢參數(shù)可見(jiàn)要素的GeoJSON要素的對(duì)象數(shù)組。
參數(shù):
geomertry(PointLike | Array): 查詢區(qū)域的幾何形狀邊界框要么是一個(gè)點(diǎn),要么是西南和東北點(diǎn)。如果省略這個(gè)參數(shù)(例如,調(diào)用Map的queryRenderedFeatures并且不傳參數(shù),或者只使用期權(quán)參數(shù))等價(jià)于傳遞一個(gè)包含整個(gè)Map viewport的邊界框。
options(Object):
1 options.layersArray: 查詢要檢查的一組樣式層id。只有這些層中的特性才會(huì)返回。如果這個(gè)參數(shù)沒(méi)有定義。那么所有層都將會(huì)被檢查。
2 options.filterArray : 用于限制查詢結(jié)果的過(guò)濾器。
返回:
Array(Object): 一組GeoJSON要素對(duì)象。
每個(gè)返回的特性對(duì)象的屬性值包都含其源特性的屬性。對(duì)于GeoJSON來(lái)源,只支持字符串和數(shù)值屬性值(例如,null,數(shù)組和對(duì)象值不受支持)
每個(gè)功能都包含一個(gè)頂級(jí)layer屬性。其值是表示功能所屬的樣式圖層的對(duì)象。此對(duì)象中的布局和會(huì)話屬性包含對(duì)給定縮放級(jí)別和特征完全評(píng)估的值。
不包括來(lái)自visibility屬性為圖層的特征“none”或來(lái)自其縮放范圍不包括當(dāng)前縮放級(jí)別的圖層的特征。不包括云文字后圖標(biāo)碰撞而隱藏的符號(hào)功能。包括所有其他視層的特征,包括可能對(duì)渲染結(jié)果沒(méi)有課件貢獻(xiàn)的特征;
例如,因?yàn)閳D層的不透明度或顏色alpha分量設(shè)置為0。
最上面的渲染特征首先出現(xiàn)在返回的數(shù)組中,隨后的特征安降序排列。多次渲染的特征(由于以低縮放級(jí)別穿越范反陰影線)只返回一次(盡管受到以下警告的限制)。
由于要素來(lái)自平鋪的矢量數(shù)據(jù)或GeoJSON數(shù)據(jù),并且在內(nèi)部將其轉(zhuǎn)換為圖塊,所以要素幾何圖形可能會(huì)在圖片邊界上被拆分或復(fù)制,一次,查詢結(jié)果中可能會(huì)出現(xiàn)多次要素。例如,假設(shè)有一條高速公路貫穿查詢的邊界矩形。查詢的結(jié)果將是位于覆蓋邊界舉行的地圖瓦片內(nèi)的高速公路部分,即使高速公路延伸到其他瓦片中,并且每個(gè)地圖瓦片中的高速公路部分將作為單獨(dú)的特征返回。類(lèi)似地,瓦片邊界附近的點(diǎn)特征可能由于瓦片緩沖而出現(xiàn)在多個(gè)瓦片中。
// 在一個(gè)點(diǎn)上找到所有的特性
var features = map.queryRenderedFeatures(
[20,35],
{layers: ['my-layer-name']}
);
//在一個(gè)靜態(tài)的邊界框中找到所有的特性
var features = map.queryRenderedFeatures(
[[10,20],[30,50]],
{layers:['my-layer-name']}
);
//在一個(gè)點(diǎn)周?chē)业剿械奶匦?var width = 10;
var height = 20;
var features = map.queryRenderedFeatures([
[point,x - width / 2,point.y - height / 2],
[point.x + width / 2,point.y +height / 2]
],{layers: ['my-layer-name']});
//從一個(gè)單層查詢所有呈現(xiàn)的特性
var features = map.queryRenderedFeatures({layers: ['my-layer-name']});
30 setStyle(style,options)
用一個(gè)新值更新地圖的Emapgo.js樣式對(duì)象。如果給定的值是styleJSON對(duì)象,則將其與map的當(dāng)前狀態(tài)進(jìn)行比較,并且只執(zhí)行不要的更改,一使地圖樣式與所需狀態(tài)相匹配。
參數(shù):
style(StyleSpecification | string | null):符合Emapgo.js樣式規(guī)范中描述的模式的JSON對(duì)象,或者這種JSON的URL。
options(Object):
options.diffboolean(default true) : 如果為false,則強(qiáng)制進(jìn)行“全面”更新,刪除當(dāng)前樣式并添加構(gòu)建給頂樣式,而不是常是基于diff的更新。
options.localIdeographFontFamilystring(default null) | 如果非 null,則在‘CJK統(tǒng)一表意文字’和'Hangul Syllables' 范圍內(nèi)定義一個(gè)用于本地覆蓋字形生成的css字體系列。強(qiáng)制全面更新。
######返回:
Map: this
31 getStyle()
32 isStyleLoaded()
33 addSource(id,source)
34 areTilesLoaded()
35 removeSource(id)
36 getSource(id)
37 addImage(id,image,options)
38 hasImage(id)
39 removeImage(id)
40 loadImage(url,callback)
41 addLayer(layer,before)
42 moveLayer(id,beforeId?)
43 removeLayer(id)
44 getLayer(id)
45 setFilter(layer,filter)
46 setLayerZoomRange(layerId,minzoom,maxzoom)
47 getFilter(layer)
48 setPaintProperty(layer,name,value)
49 getPaintProperty(layer,name)
50 setLayoutProperty(layer,name,value)
51 getLayoutProperty(layer,name)
52 setLight(light)
53 getLIght()
54 getContainer()
55 getCanvasContainer()
56 getCanvas()
57 loaded()
58 remove()
59 showTileBoundaries
60 showCollisionBoxes
61 repaint
62 getCenter()
63 setCenter (center,eventData)
64 panBy(offset,options,eventData)
65 panTo(lnglat,options,eventData)
66 getZoom()
67 setZoom(zoom,eventData)
68 zoomTo(zoom,options,eventData)
69 zoomIn(options,eventData)
70 zoomOut(options,eventData)
71 getBearing()
72 setBearing(bearing,options,eventData)
73 rotateTo(bearing,options,eventData)
74 resetNorth(options,eventData)
75 snapToNorth(options,eventData)
76 getPitch()
77 setPitch(pitch,eventData)
78 fitBounds(bounds,options,eventData)
79 jumpTo(options,eventData)
80 easeTo(options,eventData)
81 flyTo(options,eventData)
82 stop()
3 事件
map.on('mousedown',function text(e){
console.log('按下')
map.off('mousedown',text)
});
map.once('mouseup',function LOL(e){
console..log('鼠標(biāo)彈起')
});
resize
地圖重新調(diào)整大小后立即觸發(fā)。
remove
Map.event移除地圖后立即觸發(fā): remove。
mousedown
在地圖內(nèi)按下指針設(shè)備(通常是指鼠標(biāo))時(shí)觸發(fā)。
mouseup
指針設(shè)備(通常是指鼠標(biāo))在地圖內(nèi)釋放時(shí)觸發(fā)
mouseover
mouseenter相同意思
mousemove
指針設(shè)備(通常是指鼠標(biāo))在地圖內(nèi)移動(dòng)時(shí)觸發(fā)
click
當(dāng)指針設(shè)備(通常是鼠標(biāo))點(diǎn)擊時(shí)觸發(fā)。
dblclick
在地圖上的同一點(diǎn)點(diǎn)擊兩次(通常是鼠標(biāo))時(shí)觸發(fā)
mouseenter
指針設(shè)備(通常是指鼠標(biāo))從該圖層外部或地圖畫(huà)布外部進(jìn)入指定圖層的可見(jiàn)部分時(shí)觸發(fā)。此事件只能通過(guò)Map-on的三參數(shù)版本進(jìn)行監(jiān)聽(tīng),其中第二個(gè)參數(shù)指定所需的圖層。
mouseleave
當(dāng)一個(gè)指向設(shè)備(通常是鼠標(biāo))離開(kāi)指定層的可見(jiàn)部分,或者離開(kāi)地圖畫(huà)布時(shí)觸發(fā)。這個(gè)時(shí)間只能通過(guò)Map的三參數(shù)版本來(lái)監(jiān)聽(tīng),第二個(gè)參數(shù)指定所需的層。
mouseout
點(diǎn)設(shè)備(通常是鼠標(biāo))離開(kāi)地圖的畫(huà)布時(shí)觸發(fā)
contextmenu
點(diǎn)擊鼠標(biāo)右鍵或在地圖內(nèi)按下上下文菜單鍵時(shí)觸發(fā)
wheel
設(shè)備滾動(dòng)(通常是指鼠標(biāo)滾輪)時(shí)被觸發(fā)
touchstart
當(dāng)一個(gè)觸摸事件發(fā)生在地圖中時(shí)被觸發(fā)。
touchend
當(dāng)在地圖上的觸摸事件結(jié)束后被觸發(fā)
touchmove
當(dāng)一個(gè)觸摸移動(dòng)事件發(fā)生在地圖中時(shí)被觸發(fā)
touchcancel
當(dāng)一個(gè)觸摸取消事件發(fā)生在地圖中時(shí)被觸發(fā)
movestart
在地圖開(kāi)始從一個(gè)視圖到另一個(gè)視圖的轉(zhuǎn)換之前觸發(fā)(用戶交互或諸如jumpTo之類(lèi)的方法執(zhí)行時(shí)觸發(fā))
move
作為用戶交互或諸如Map#flyTo之類(lèi)的方法的結(jié)果,在從一個(gè)視圖到另一個(gè)視圖的動(dòng)畫(huà)過(guò)渡期間重復(fù)觸發(fā)。
moveend
用戶交互或諸如Map#jumpTo之類(lèi)的方法的結(jié)果,在地圖完成從一個(gè)視圖到另一個(gè)視圖的轉(zhuǎn)換之后立即觸發(fā)
dragstart
當(dāng)“拖動(dòng)平移”交互開(kāi)始時(shí)觸發(fā)。
2018-7-19
drag
在“拖動(dòng)平移”的交互過(guò)程始終反復(fù)觸發(fā)
dragend
在“拖動(dòng)平移”的交互結(jié)束時(shí)觸發(fā)
zoomstart
地圖開(kāi)始從一個(gè)縮放級(jí)別轉(zhuǎn)換到另一個(gè)縮放級(jí)別開(kāi)始時(shí)觸發(fā)
zoom
地圖開(kāi)始從一個(gè)縮放級(jí)別轉(zhuǎn)換到另一個(gè)縮放級(jí)別時(shí)過(guò)程中反復(fù)觸發(fā)
zoomend
由地圖開(kāi)始從一個(gè)縮放級(jí)別轉(zhuǎn)換到另一個(gè)縮放級(jí)別時(shí)過(guò)程中反復(fù)觸發(fā)
rotatestarat
當(dāng)“拖動(dòng)旋轉(zhuǎn)”交互開(kāi)始時(shí)觸發(fā)
rotate
在“拖動(dòng)旋轉(zhuǎn)”交互過(guò)程中重復(fù)觸發(fā)
rotateend
當(dāng)“拖動(dòng)旋轉(zhuǎn)”交互結(jié)束時(shí)觸發(fā)
pitchstart
開(kāi)始改變地圖的傾斜度時(shí)觸發(fā),由于用戶交互或像Map flyto這樣的方法導(dǎo)致地圖傾斜
pitch
每當(dāng)?shù)貓D的俯仰(傾斜)發(fā)生變化時(shí)觸發(fā)
pitchend
由于用戶和交互或諸如Map#flyTo之類(lèi)的方法導(dǎo)致地圖的俯仰(傾斜)完成更改后立即觸發(fā)
boxzoomstart
當(dāng)“框式縮放”互動(dòng)結(jié)束時(shí)觸發(fā)
boxzoomcancel
當(dāng)用戶取消“框縮放”交互時(shí),或者邊界框不和服最小大小閾值時(shí)觸發(fā)
webglcontextlost
WebGL上下文丟失時(shí)觸發(fā)
webglcontextrestored
WebGL上下文恢復(fù)時(shí)觸發(fā)
load
在所有必要的資源下載完成后立即啟動(dòng),并且已經(jīng)發(fā)生了第一次視覺(jué)上完整的地圖渲染
render
作為結(jié)果,每當(dāng)?shù)貓D繪制到屏幕時(shí)觸發(fā)
改變地圖的位置,縮放,俯仰或方位
改變了地圖的風(fēng)格
對(duì)GeoJSON源的更改
加載矢量圖塊,GelJSON文件,字形或精靈
error
發(fā)生錯(cuò)誤觸發(fā),這是GL JS的主要錯(cuò)誤報(bào)告機(jī)制。我們使用事件而不是throw更好地適應(yīng)異步操作。如果沒(méi)有偵聽(tīng)器綁定到error事件,則錯(cuò)誤將被打印到控制臺(tái)。
data
任何地圖數(shù)據(jù)加載或更改時(shí)觸發(fā)
styledata
當(dāng)?shù)貓D的樣式加載或更改時(shí)觸發(fā)
sourcedata
當(dāng)一個(gè)地圖的信息源架加載或更改時(shí)觸發(fā),包括屬于信息源的圖塊加載或更改
dataloading
任何地圖數(shù)據(jù)(樣式,源代碼,平鋪等)開(kāi)始加載或異步更改時(shí)觸發(fā)
styledataloading
地圖樣式開(kāi)始加載或異步更改時(shí)觸發(fā)。所有styedataloading事件之后都會(huì)有一個(gè)styledata或一個(gè)error事件
sourcedataloading
地圖的其中一個(gè)資源開(kāi)始加載或異步更改時(shí)觸發(fā)。所有sourcedataloading事件之后是一個(gè)sourcedata或一個(gè)error事件。
4 用戶交互
處理程序?yàn)榈貓D添加不用類(lèi)型的交互性-鼠標(biāo)交互性,觸摸交互和其他手勢(shì)。
BoxZoom
BoxZoomHandler允許用戶放大地圖,以適應(yīng)邊框。邊框的選擇就是按住shift配合鼠標(biāo)點(diǎn)擊移動(dòng)選擇
實(shí)例成員
isEnabled()
返回一個(gè)布爾值,只是是否啟用“框縮放”交互。
返回:
boolean:如果返回的是true,那么框縮放處理程序已被啟用。
isActive()
返回一個(gè)布爾值,指示“框縮放”及哦啊胡是否處于活動(dòng)狀態(tài),即當(dāng)前是否正在使用。
返回
boolean:如果返回true。那么交互處于活動(dòng)狀態(tài)。
enable()
啟用“框縮放”交互
map.boxZoom.enable();
disable()
禁用“框縮放”交互。
map.boxZoom.disable();
ScrollZoom
ScrollZoomHandler允許用戶通過(guò)滾動(dòng)縮放地圖
實(shí)例成員
isEnable()
返回一個(gè)布爾值,指示是否啟用“滾動(dòng)縮放”交互
返回:
boolean: 當(dāng)返回true時(shí)說(shuō)明已啟用“滾動(dòng)縮放”交互。
enable()
啟用“滾動(dòng)縮放”交互,對(duì)鼠標(biāo)懸停的位置進(jìn)行縮放。
disable()
禁用“滾動(dòng)縮放”交互
map.scrollZoom.disable();
DragPan
拖拽式處理程序允許用戶通過(guò)單擊和拖動(dòng)光標(biāo)來(lái)平移地圖
實(shí)例成員
isEnabled()
返回一個(gè)布爾值,指示是否啟用了“拖動(dòng)到平移”交互
返回:
boolean:當(dāng)返回true時(shí)說(shuō)明已啟用了“拖動(dòng)”交互
isActive()
返回一個(gè)布爾值,指示“拖動(dòng)到平移”交互是否處于活動(dòng)狀態(tài),即當(dāng)前正在使用
返回:
boolean:返回值為true時(shí)“拖動(dòng)”交互正在進(jìn)行
enable()
啟用“拖動(dòng)拖動(dòng)”交互。
map.dragPan.enable();
disable()
禁止“拖動(dòng)拖動(dòng)”交互
map.dragPan.disable();
DragRotate
拖動(dòng)旋轉(zhuǎn)處理程序允許用戶在按住鼠標(biāo)右鍵或者按ctrl鍵的同時(shí)單擊并拖動(dòng)光標(biāo)來(lái)旋轉(zhuǎn)地圖。
實(shí)例成員
isEnabled()
返回一個(gè)布爾值,指示是否啟用了“拖動(dòng)旋轉(zhuǎn)”交互
返回:
boolean: 如果啟用了“拖動(dòng)旋轉(zhuǎn)”交互,則是true
isActive()
返回一個(gè)布爾值,指示“拖動(dòng)旋轉(zhuǎn)”交互是否活動(dòng),即當(dāng)前正在使用
返回:
boolean:如果“拖動(dòng)旋轉(zhuǎn)”交互處于活動(dòng)狀態(tài),則是true
enable()
啟用“拖動(dòng)旋轉(zhuǎn)”交互
map.dragRotate.enable();
disable()
禁用“拖動(dòng)旋轉(zhuǎn)”交互
map.dragRotate.disable();
Keyboard
鍵盤(pán)處理程序允許用戶使用一下鍵盤(pán)快捷鍵縮放、旋轉(zhuǎn)和平移地圖:
= 或 +: 縮放級(jí)別提高1。
Shift與=或者 Shift與+: 縮放級(jí)別提高2。
-: 縮放級(jí)別降低1。
Shift--: 縮放級(jí)別降低2。
箭頭鍵 : 平移100像素。
Shift+?: 旋轉(zhuǎn)度增加15度。
Shift+?: 旋轉(zhuǎn)度減少旋轉(zhuǎn)15度。
Shift+?: 傾斜度增加10度。
Shift+?: 傾斜度減少10度。
實(shí)例成員
isEnabled()
返回一個(gè)布爾值,指示是否啟用了鍵盤(pán)交互。
boolean:如果啟用了“鍵盤(pán)交互”交互,則是true。
enable()
啟用鍵盤(pán)交互
map.keyboard.enable();
disable()
禁用鍵盤(pán)交互
map.keyboard.disable();
DoubleClickZoom
雙擊縮放處理程序允許用戶通過(guò)雙擊或雙擊一個(gè)點(diǎn)縮放地圖。
實(shí)例成員
isEnabled()
返回一個(gè)布爾值,指示是否啟用了雙擊交互。
boolean:如果啟用了“雙擊”交互,則是true。
isActive()
返回一個(gè)布爾值,指示“雙擊”交互是否活動(dòng),即當(dāng)前正在使用。
enable()
啟用“雙擊縮放”交互。
map.doubleClickZoom.enable();
disable()
禁用“雙擊縮放”交互。
map.doubleClickZoom.disable();
TouchZoomRotate
觸摸縮放旋轉(zhuǎn)處理程序允許用戶通過(guò)在觸摸屏上縮放和旋轉(zhuǎn)地圖
isEnabled()
返回一個(gè)布爾值,指示是否啟用了觸摸縮放旋轉(zhuǎn)。
返回
boolean:如果啟用了“觸摸縮放旋轉(zhuǎn)”交互,則是true。
enable(options?)
如果啟用了“觸摸縮放旋轉(zhuǎn)”交互
map.rouchZoomRotate.enable();
disable()
禁用“捏合旋轉(zhuǎn)和縮放”交互。
map.touchZoomRotate.disable();
disableRotation()
禁用“捏合旋轉(zhuǎn)”交互,留下啟用“捏縮放”交互。
map.rouchZoomRotate.disableRotation();
enableRotation()
啟用“捏合旋轉(zhuǎn)”交互。
map.rouchZoomRotate.enable();
map.rouchZoomRotate.enableRotation();