LeafletJS - Controlli

Il volantino fornisce vari controlli come zoom, attribuzione, scala, ecc., Dove:

  • Zoom- Per impostazione predefinita, questo controllo è presente nell'angolo superiore sinistro della mappa. Ha due pulsanti"+" e "–", utilizzando il quale è possibile ingrandire o ridurre la mappa. È possibile rimuovere il controllo zoom predefinito impostando l'estensionezoomControl opzione delle opzioni della mappa su false.

  • Attribution- Per impostazione predefinita, questo controllo è presente nell'angolo inferiore destro della mappa. Visualizza i dati di attribuzione in una piccola casella di testo. Per impostazione predefinita, visualizza il testo. È possibile rimuovere il controllo di attribuzione predefinito impostando ilattributionControl opzione delle opzioni della mappa su false.

  • Scale- Per impostazione predefinita, questo controllo è presente nell'angolo inferiore sinistro della mappa. Visualizza il centro corrente dello schermo.

In questo capitolo spiegheremo come creare e aggiungere tutti questi tre controlli alla mappa utilizzando la libreria JavaScript Leaflet.

Ingrandisci

Per aggiungere un controllo di zoom personalizzato alla mappa utilizzando la libreria JavaScript Leaflet, seguire i passaggi indicati di seguito:

Step 1 - Crea un file Map oggetto passando un elemento (stringa o oggetto) e le opzioni della mappa (opzionale).

Step 2 - Crea un file Layer oggetto passando l'URL del riquadro desiderato.

Step 3 - Aggiungi l'oggetto layer alla mappa utilizzando il addLayer() metodo del Map classe.

Step 4 - Crea la variabile zoomOptions e definisci i tuoi valori di testo per le opzioni di ingrandimento e riduzione, invece di quelli predefiniti (+ e -).

Quindi, crea il controllo zoom passando la variabile zoomOptions a L.control.zoom() come mostrato di seguito.

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

Step 5 - Aggiungere l'oggetto di controllo dello zoom creato nel passaggio precedente alla mappa utilizzando il addTo() metodo.

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

Esempio

Di seguito è riportato il codice per aggiungere il proprio controllo dello zoom alla mappa, invece di quello predefinito. Qui, premendo 1, la mappa si ingrandisce e premendo 0, la mappa si ingrandisce.

<!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>

Genera il seguente output:

Attribuzione

Per aggiungere una tua attribuzione alla mappa utilizzando la libreria JavaScript Leaflet, segui i passaggi indicati di seguito:

Step 1 - Crea un file Mapoggetto passando un elemento < div > (stringa o oggetto) e opzioni di mappa (opzionale).

Step 2 - Crea un file Layer oggetto passando l'URL del riquadro desiderato.

Step 3 - Aggiungi l'oggetto layer alla mappa utilizzando il addLayer() metodo del Map classe.

Step 4 - Crea il file attrOptions variabile e definire il proprio valore di prefisso invece di quello predefinito (depliant).

Quindi, crea il controllo di attribuzione passando il attrOptions variabile a L.control.attribution() come mostrato di seguito.

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

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

Step 5 - Aggiungi il file attribution control oggetto creato nel passaggio precedente alla mappa utilizzando il addTo() metodo.

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

Esempio

Il codice seguente aggiunge il nostro controllo di attribuzione alla tua mappa, invece di quello predefinito. Qui, invece, verrà visualizzato il campione di attribuzione del testo .

<!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>>

Genera il seguente output:

Scala

Per aggiungere un controllo di scala personalizzato alla mappa utilizzando la libreria JavaScript Leaflet, segui i passaggi indicati di seguito:

Step 1 - Crea un file Mapoggetto passando un elemento < div > (stringa o oggetto) e opzioni di mappa (opzionale).

Step 2 - Crea un file Layer oggetto passando l'URL del riquadro desiderato.

Step 3 - Aggiungi il file layer oggetto alla mappa utilizzando il addLayer() metodo del Map classe.

Step 4 - Crea il controllo della scala passando il using L.control.scale() come mostrato di seguito.

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

Step 5 - Aggiungi il file scale control oggetto creato nel passaggio precedente alla mappa utilizzando il addTo() metodo come mostrato di seguito.

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

Esempio

Il codice seguente aggiunge il controllo della scala alla mappa.

<!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>

Genera il seguente output: