Leaflet It is an open-source JavaScript map library, which is a relatively mainstream Map Library in WebGIS. It is lightweight, rich in plug-ins, highly active in the community, and relatively mature. Not long ago, a new version 1.3.3 was released.
Next, we will show how to display ArcGIS foundation base map.
First, load the code and style of Leaflet, Leaflet.js, leaflet.css; load the Esri Leaflet Library: esri-leflet.js.
<!-- lets load Leaflet's .js and .css from CDN--> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.1/dist/leaflet.css" /> <script src="https://unpkg.com/leaflet@1.0.1/dist/leaflet.js"></script> <!-- Load Esri Leaflet from CDN. it has no .css stylesheet of its own, only .js --> <script src="https://unpkg.com/esri-leaflet@2.0.4/dist/esri-leaflet.js"></script>
Base map supported
Basic base maps supporting ArcGIS Online: such as Streets, topographical, Gray and dark Gray maps. These types of base maps can be accessed only by specifying their names when defining the base map layer.
var map = L.map('map', { center: [28.2, 113.03], zoom: 8 }); var layer = L.esri.basemapLayer(Streets).addTo(map);
The complete code is as follows:
<html> <head> <meta charset=utf-8 /> <title>Showing an ArcGIS basemap</title> <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' /> <!-- Load Leaflet from CDN --> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ==" crossorigin=""/> <script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js" integrity="sha512-/Nsx9X4HebavoBvEBuyp3I7od5tA0UzAxs+j83KgC8PU0kgB4XiK4Lfe4y4cgBtaRJQEIFCW+oC506aPT2L1zw==" crossorigin=""></script> <!-- Load Esri Leaflet from CDN --> <script src="https://unpkg.com/esri-leaflet@2.2.1/dist/esri-leaflet.js" integrity="sha512-6BBVttv13OVrrUSoGmy9/aIVHateyIEGFaQxqnzCgXT9LNCAQ1Cxxj43R6Eq0ynydS7a7bLLfmEWwXFiO6lW2g==" crossorigin=""></script> <style> body { margin:0; padding:0; } #map { position: absolute; top:0; bottom:0; right:0; left:0; } </style> </head> <body> <div id="map"></div> <script> var map = L.map('map', { center: [28.2, 113.03], zoom: 8 }); var layer = L.esri.basemapLayer('Streets').addTo(map); </script> </body> </html>
The final results are as follows: