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: