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>

會產生以下輸出 -

Event Handling
廣告