event
之所以要說event,是因為很多類都是繼承自layer——marker、popup、tooltip、path以及繼承自path的circle、polyline、polygon...;而layer又是繼承自event的。追根溯源我們先看event類。
event的作用是當某些事發生在乙個物件上時,執行一些響應函式(比如當使用者點選map時,就在map物件上觸發了'click'事件)。
乙個用例:
map.on('click' function(e));
leaflet是用引用響應函式名的來處理響應,所以如果想在處理完乙個事件後關閉對該事件的響應,最好不要用匿名函式而採用普通函式的方式:
functiononclick(e)
map.on('click',onclick);
map.off('click',onclick);
這樣,由於用off關閉了對事件click的響應函式onclick,之後再click就不會用onclick函式進行響應了。
1、方法
//listener——響應函式
on(type, function )//
為事件 type 新增響應函式 function
on(eventmap) //
一系列的type/listener對,例如
off(type,fn?)//
關閉事件 type 上的響應函式 fn;如果省略fn,則會移除所有與該事件type 相關的響應函式。
off(eventmap)//
以type/listener對 的形式關閉事件type上的響應函式。
off() //
關閉所有事件的所有響應函式
layer(event)
map與layer的區別:乙個系統只能有乙個map,而可以有多個layer物件,比如tilelayer、polygon...,這些layer只有addto(map)後才會在map上顯示出來。這裡把map翻譯為地圖可能有點不太合適,所以就採用英文map了。
子類包括:marker、popup、tooltip、path以及繼承自path的circle、polyline、polygon...
乙個用例:
var layer =l.marker(latlng).addto(map);layer.addto(map);
layer.remove();
1、事件
//一般事件
add //
當layer加入到map中時
remove //
當layer從map中移除
//popup事件
popupopen //
當與layer繫結的popup開啟時
popupclose //
popup關閉時
//tooltip事件
tooltipopen //
與layer繫結的tooltip開啟時
tooltipclose//
tooltip關閉時
2、方法
//子類繼承的方法
addto(map) //
把該layer加入到map或者layer group中;這個方法很重要
remove() //
從該layer正在活動的map上移除該layer
removefrom(map)//
從指定的map上移除layer(不管該map是不是現在活動的map)
removefrom(group)//
從指定的layergroup上移除layer
//popup方法
//所有的layer物件都實現了一些與popup相關的方法
//乙個用例
var layer = l.polygon(latlng).bindpopup('hi! there!').addto(map);
layer.openpopup();
layer.closepopup();
//此外popups也將在 該圖層被點選時開啟;在該圖層被移除或者另乙個popup開啟時關閉
//popup方法
bindpopup(content , options?)
//為該layer繫結乙個popup,可選引數option和popup初始化時的引數一致
unbindpopup() //
移除繫結在該layer上的popup
openpopup(latlng? ) //
在指定座標處開啟該popup,如果沒有設定,就會在預設的位置開啟
closepopup() //
關閉該layer上的popup(如果該popup是開啟的話)
togglepopup()//
開啟還是關閉該layer上的popup取決於該layer現在的狀態(還沒搞懂該函式的意思)
setpopupcontent(content)//
設定popup的內容
getpopup()//
返回繫結在該layer上的popup物件
//tooltip方法
//與popup方法完全類似,甚至類似到,你把popup的方法中的popup字元替換為tooltip就變成了了tooltip方法
需要注意的是,map上會顯示所有openpopup()的popup。
搜尋專項 LA 5844
一開始用map記錄對映dfs,結果tle了。然後發現第乙個串中只會出現 a z 所以可以以這26個字母用乙個vis記錄該字母是否被對映,再記錄該字母對映下的字串就可以了。include include include using namespace std char s1 20 s2 60 int ...
LA 1453 旋轉卡殼
include using namespace std struct point typedef point vector int cross vector a,vector b vector operator vector a,vector b vector operator point a,po...
la3716( 數學變形)
translation 給出兩條字串a,b。找出一段最長的子區間,使得區間所有位置x,有不超過p 的位置存在a x b x solution 利用數學變形 構造乙個數列,兩字串相等的位置為0,不等的為1。另sum i 為字首和。則就是求 sum e sum s e s 不超過p 的最長長度是多少?n...