Depuis la 2.0, la cartographie est gérée à l’aide de la bibliothèque Leaflet, qui permet notamment de choisir le fond cartographique, en s’appuyant sur différents serveurs de "tuiles".
4.0 Les serveurs reconnus sont définis dans le fichier feuillet_fonctions.php du plugin Feuillet, via la fonction feuillet_liste_api(). [1]
function feuillet_liste_api()
{
$laliste= array(
'OSM',
'Google Hybrid',
'Google Streets',
'Esri Street Map',
'Esri Topo Map',
'Esri Imagery',
'ArcGIS Streets',
'CartoDB',
'Stadia OSM Bright',
'Stadia Alidade Satellite',
'Local'
);
return $laliste;
}
Cette définition est complétée par une liste identique, présente dans le fichier lib/feuillet/feuillet.js du plugin Feuillet.
function Feuillet(div,lat,lng,zoom,base) {
// Initialisation des tuiles
if(base == 'Local') {
this.baseMaps = {
"Local": L.tileLayer('data/tiles/{z}/{x}/{y}.png', {attribution: '© OpenStreetMap (Local)'}),
"Muet": L.tileLayer('data/notiles/{z}/{x}/{y}.png')
};
} else {
this.baseMaps = { // Liste des serveurs de tuiles
"OSM": L.tileLayer('https://{s}.tile.osm.org/{z}/{x}/{y}.png', {attribution: '© OpenStreetMap'}),
"Google Hybrid": L.tileLayer('https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}', {attribution: '© Google Maps'}),
"Google Streets": L.tileLayer('https://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={z}', {attribution: '© Google Maps'}),
"Esri Street Map": L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}', {attribution: 'Tiles © Esri'}),
"Esri Topo Map": L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}', {attribution: '© Esri'}),
....
};
}
...
}
Il est possible de compléter cette liste en modifiant conjointement les fichiers php et js indiqués pour y ajouter d’autres serveurs WMTS (Web Map Tile Service). Attention toutefois aux serveurs qui nécessitent des licences ou des clefs d’authentification. Une liste de fournisseurs de tuiles est disponible sur un site qui indique également le paramétrage Leaflet à effectuer dans feuillet.js.
Remarques:
Historiquement, le plugin permet de gérer une source "locale" de tuiles. Une des utilisations du serveur local est de fournir un cache d’un serveur public pour des circonstances où celui-ci ne serait pas joignable (utilisation du site Biodiv sur une infrastructure non connectée à internet par exemple). Une autre peut être de disposer de vos propres cartes, dédiées à un usage particulier. La distribution Biodiv ne fournit pas de tuiles locales mais propose, à titre d’exemple, une définition d’un tel serveur, dont l’organisation serait calquée sur celle d’OpenStreetMap. Ce serveur est désigné par Local dans le paramétrage de Feuillet.
Notes:
[1] Jusqu’à la 3.9, cette gestion s’effectuait dans le fichier biodiv_fonctions.php du plugin Biodiv, via les fonctions leaflet_api() et leaflet_api_list().