天天看點

openlayers3學習-建立地圖,添加、移除監聽事件

一、入門執行個體

<!DOCTYPE html>

<html >

<head>

<meta charset="UTF-8">

<title>Title</title>

<link href="../ol.css" target="_blank" rel="external nofollow"  rel="stylesheet"/>

<script src="../ol.js"></script>

</head>

<body>

<div id="map"></div>

</body>

<script>

//view,layers,target是初始化地圖的必須的三個屬性,缺一不可。

let map = new ol.Map({

view: new ol.View({

center: [0, 0],

zoom: 1

}),

layers: [

new ol.layer.Tile({

source: new ol.source.OSM()

})

],

target: 'map',

//這倆參數是控制底圖切片的加載時機,設定為true時在地圖動畫或者地圖互動(放大縮小、漫遊)時切片可以實時加載,提高使用者體驗。如果使用者端性能較差的建議設定為false.預設false

loadTilesWhileAnimating:false,

loadTilesWhileInteracting:false,

});

//view屬性也可以在地圖初始後通過map.setView(ol.View)方法動态設定。

// let view= new ol.View({

// center: [0, 0],

// zoom: 1

// });

// map.setView(view)

</script>

</html>
           

效果圖

openlayers3學習-建立地圖,添加、移除監聽事件

二、添加地圖事件監聽

//滑鼠點選

let clickEvent = map.on('click',(e)=>{

console.log(e)

})

//移除監聽事件

ol.Observable.unByKey(clickEvent)

click,dblclick,singleclick 差別聯系

dblclick 會觸發兩次click,不會觸發singleclick.

singleclick會在click觸發之後250毫秒後觸發。

也就是說singleclick觸發會有250毫秒的延遲,再使用此事件的時候一定要注意,不然會産生意想不到的問題。