Select
是交互事件中的一種,用于選擇矢量圖層上的幾何圖形,添加選擇交互事件后,點擊地圖上的幾何圖形或者將鼠標移動到幾何圖形上時,將獲取到幾何圖形的相關信息,我們可以將選擇的幾何圖形進行高亮顯示。使用起來很簡單,首先創建一個Select
對象,然后再使用Map
的addInteraction
方法添加該對象。選擇的事件包括Single-click
, Click
, Hover
,Alt+Click
等。可以使用condition
屬性來指定事件類型。
var select = new ol.interaction.Select();
map.addInteraction(select)
屬性
- addCondition:指定一個函數,用于處理每一次事件。
- condition:用于設置事件函數,返回
false
時不處理事件。- layers:用于過濾選擇的圖層,可以用數組指定圖層,如果是函數,當返回false`時不處理事件。
- style:設置選擇時高亮顯示的樣式。
- removeCondition:刪除條件選擇的函數。返回一個布爾值是否觸發事件。
- **toggleCondition:切換條件選擇的函數。返回一個布爾值是否觸發事件。
- multi:是否需要選擇疊加的要素。默認為
false
。- features:設置要素選擇的范圍,如果設置了,只在該要素集下生效。
- filter:選擇過濾器。當返回false`時不處理事件。
- hitTolerance:鼠標與幾何圖形之間的距離,距離越大越容易選中。
方法
- getFeatures:獲取選中的要素集。
- getHitTolerance:獲取鼠標與幾何圖形之間的距離。
- getLayer:獲取選中的圖層。
- setHitTolerance:設置鼠標與幾何圖形之間的距離。
事件
- select:選中事件,當選中的時候觸該事件,如
select.on('select',function()})
。
個人博客