LeafletJS - การควบคุม

Leaflet ให้การควบคุมที่หลากหลายเช่นการซูมการระบุแหล่งที่มาขนาด ฯลฯ โดยที่ -

  • Zoom- โดยค่าเริ่มต้นการควบคุมนี้จะอยู่ที่มุมบนซ้ายของแผนที่ มันมีสองปุ่ม"+" และ "–"ซึ่งคุณสามารถซูมเข้าหรือซูมออกแผนที่ได้ คุณสามารถลบการควบคุมการซูมเริ่มต้นได้โดยการตั้งค่าzoomControl ตัวเลือกของตัวเลือกแผนที่เพื่อ false.

  • Attribution- โดยค่าเริ่มต้นการควบคุมนี้จะอยู่ที่มุมขวาล่างของแผนที่ จะแสดงข้อมูลการระบุแหล่งที่มาในกล่องข้อความขนาดเล็ก โดยค่าเริ่มต้นจะแสดงข้อความ คุณสามารถลบการควบคุมการระบุแหล่งที่มาเริ่มต้นได้โดยการตั้งค่าattributionControl ตัวเลือกของตัวเลือกแผนที่เพื่อ false.

  • Scale- โดยค่าเริ่มต้นการควบคุมนี้จะอยู่ที่มุมล่างซ้ายของแผนที่ จะแสดงศูนย์กลางปัจจุบันของหน้าจอ

ในบทนี้เราจะอธิบายวิธีสร้างและเพิ่มการควบคุมทั้งสามนี้ลงในแผนที่ของคุณโดยใช้ไลบรารี Leaflet JavaScript

ซูม

หากต้องการเพิ่มการควบคุมการซูมของคุณเองลงในแผนที่โดยใช้ไลบรารี Leaflet JavaScript ให้ทำตามขั้นตอนด้านล่าง -

Step 1 - สร้างไฟล์ Map วัตถุโดยส่งผ่านองค์ประกอบ (สตริงหรือวัตถุ) และตัวเลือกแผนที่ (ไม่บังคับ)

Step 2 - สร้างไฟล์ Layer ออบเจ็กต์โดยส่ง URL ของไทล์ที่ต้องการ

Step 3 - เพิ่มวัตถุเลเยอร์ลงในแผนที่โดยใช้ไฟล์ addLayer() วิธีการของ Map ชั้นเรียน

Step 4 - สร้างตัวแปร zoomOptions และกำหนดค่าข้อความของคุณเองสำหรับตัวเลือกการซูมเข้าและซูมออกแทนที่จะเป็นค่าเริ่มต้น (+ และ -)

จากนั้นสร้างตัวควบคุมการซูมโดยส่งผ่านตัวแปร zoomOptions ไปที่ L.control.zoom() ดังแสดงด้านล่าง

// zoom control options
var zoomOptions = {
   zoomInText: '1',
   zoomOutText: '0',
};
// Creating zoom control
var zoom = L.control.zoom(zoomOptions);

Step 5 - เพิ่มวัตถุควบคุมการซูมที่สร้างขึ้นในขั้นตอนก่อนหน้าลงในแผนที่โดยใช้ไฟล์ addTo() วิธี.

// Adding zoom control to the map
zoom.addTo(map);

ตัวอย่าง

ต่อไปนี้เป็นรหัสสำหรับเพิ่มการควบคุมการซูมของคุณเองลงในแผนที่ของคุณแทนที่จะเป็นค่าเริ่มต้น ที่นี่เมื่อกด 1 แผนที่จะซูมเข้าและเมื่อกด 0 แผนที่จะซูมออก

<!DOCTYPE html>
<html>
   <head>
      <title>Zoom Example</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: [17.385044, 78.486671],
            zoom: 10,
            zoomControl: false
         }
         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
         
         // zoom control options
         var zoomOptions = {
            zoomInText: '1',
            zoomOutText: '0',
         };
         var zoom = L.control.zoom(zoomOptions);   // Creating zoom control
         zoom.addTo(map);   // Adding zoom control to the map
      </script>
   </body>
   
</html>

สร้างผลลัพธ์ต่อไปนี้ -

แสดงที่มา

หากต้องการเพิ่มการระบุแหล่งที่มาของคุณเองลงในแผนที่โดยใช้ไลบรารี Leaflet JavaScript ให้ทำตามขั้นตอนด้านล่าง -

Step 1 - สร้างไฟล์ Mapวัตถุโดยส่งผ่านองค์ประกอบ< div > (สตริงหรือวัตถุ) และตัวเลือกแผนที่ (ไม่บังคับ)

Step 2 - สร้างไฟล์ Layer ออบเจ็กต์โดยส่ง URL ของไทล์ที่ต้องการ

Step 3 - เพิ่มวัตถุเลเยอร์ลงในแผนที่โดยใช้ไฟล์ addLayer() วิธีการของ Map ชั้นเรียน

Step 4 - สร้างไฟล์ attrOptions ตัวแปรและกำหนดค่าคำนำหน้าของคุณเองแทนค่าเริ่มต้น (แผ่นพับ)

จากนั้นสร้างการควบคุมการระบุแหล่งที่มาโดยส่งไฟล์ attrOptions ตัวแปรเป็น L.control.attribution() ดังแสดงด้านล่าง

// Attribution options
var attrOptions = {
   prefix: 'attribution sample'
};

// Creating an attribution
var attr = L.control.attribution(attrOptions);

Step 5 - เพิ่มไฟล์ attribution control วัตถุที่สร้างขึ้นในขั้นตอนก่อนหน้าไปยังแผนที่โดยใช้ addTo() วิธี.

// Adding attribution to the map
attr.addTo(map);

ตัวอย่าง

โค้ดต่อไปนี้จะเพิ่มการควบคุมการระบุแหล่งที่มาของเราเองในแผนที่ของคุณแทนที่จะเป็นค่าเริ่มต้น ที่นี่จะแสดงตัวอย่างการระบุแหล่งที่มาของข้อความแทน

<!DOCTYPE html>
<html>
   <head>
      <title>Attribution Example</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: [17.385044, 78.486671],
            zoom: 10,
            attributionControl: false
         }
         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
         
         // Attribution options
         var attrOptions = {
            prefix: 'attribution sample'
         };
         
         // Creating an attribution
         var attr = L.control.attribution(attrOptions);
         attr.addTo(map);  // Adding attribution to the map
      </script>
   </body>
   
</html>>

สร้างผลลัพธ์ต่อไปนี้ -

มาตราส่วน

หากต้องการเพิ่มการควบคุมมาตราส่วนของคุณเองลงในแผนที่โดยใช้ไลบรารี Leaflet JavaScript ให้ทำตามขั้นตอนด้านล่าง -

Step 1 - สร้างไฟล์ Mapวัตถุโดยส่งผ่านองค์ประกอบ< div > (สตริงหรือวัตถุ) และตัวเลือกแผนที่ (ไม่บังคับ)

Step 2 - สร้างไฟล์ Layer ออบเจ็กต์โดยส่ง URL ของไทล์ที่ต้องการ

Step 3 - เพิ่มไฟล์ layer คัดค้านแผนที่โดยใช้ addLayer() วิธีการของ Map ชั้นเรียน

Step 4 - สร้างการควบคุมขนาดโดยผ่านการใช้งาน L.control.scale() ดังแสดงด้านล่าง

// Creating scale control
var scale = L.control.scale();

Step 5 - เพิ่มไฟล์ scale control วัตถุที่สร้างขึ้นในขั้นตอนก่อนหน้าไปยังแผนที่โดยใช้ addTo() วิธีการดังแสดงด้านล่าง

// Adding scale control to the map
scale.addTo(map);

ตัวอย่าง

รหัสต่อไปนี้จะเพิ่มการควบคุมมาตราส่วนให้กับแผนที่ของคุณ

<!DOCTYPE html>
<html>
   <head>
      <title>Scale Example</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: [17.385044, 78.486671],
            zoom: 10
         }
         // Creating a map object
         var map = new L.map('map', mapOptions);
         
         // 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
         var scale = L.control.scale(); // Creating scale control
         scale.addTo(map); // Adding scale control to the map
      </script>
   </body>
   
</html>

สร้างผลลัพธ์ต่อไปนี้ -