- LeafletJS 教程
- LeafletJS - 主页
- LeafletJS - 快速入门
- LeafletJS - 标记
- LeafletJS - 矢量图层
- LeafletJS - 多段折线 & 多边形
- LeafletJS - 图层组
- LeafletJS——事件处理
- LeafletJS - 覆盖物
- LeafletJS - 控件
- LeafletJS 实用资源
- LeafletJS - 簡易指南
- LeafletJS - 实用资源
- LeafletJS - 讨论
LeafletJS——事件处理
Leaflet JavaScript 程式可以對用戶產生之多種事件做出回應。在此章節中,我們將提供幾個示範,說明使用 Leaflet 時如何執行事件處理。
事件處理
請按照下列步驟將事件新增至地圖。
第 1 步 - 傳遞一個 <div> 元素(字串或物件)和地圖選項(選用)來建立一個 地圖 物件。
第 2 步 - 傳遞所需圖塊的 URL 來建立一個 圖層 物件。
第 3 步 - 使用 Map 類別的 addLayer() 方法將圖層物件新增至地圖。
第 4 步 - 將處理常式新增至地圖,如下所示。
map.on("click", function(e){
new L.Marker([e.latlng.lat, e.latlng.lng]).addTo(map);
})
範例
以下程式碼示範使用 Leaflet 的事件處理。如果執行後您按一下地圖,將在該特定位置建立一個標記。
<!DOCTYPE html>
<html>
<head>
<title>Leaflet Polygons</title>
<link rel = "stylesheet" href = "http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css"/>
<script src = "http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
</head>
<body>
<div id = "map" style = "width: 900px; height: 580px"></div>
<script>
// Creating map options
var mapOptions = {
center: [16.506174, 80.648015],
zoom: 7
}
var map = new L.map('map', mapOptions); // Creating a map object
// Creating a Layer object
var layer = new L.TileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png');
map.addLayer(layer); // Adding layer to the map
map.on("click", function(e){
new L.Marker([e.latlng.lat, e.latlng.lng]).addTo(map);
})
</script>
</body>
</html>
會產生以下輸出 -
廣告