Esri Leaflet Vector Tile Plugin

A plugin for Esri Leaflet to visualize Vector tiles from ArcGIS Online.
Example
Take a look at the live demo.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Esri Leaflet Vector Basemap</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>
<script src="https://unpkg.com/esri-leaflet/dist/esri-leaflet.js"></script>
<script src="https://unpkg.com/esri-leaflet-vector@3/dist/esri-leaflet-vector.js"></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").setView([40.706, -73.926], 14);
L.esri.Vector.vectorBasemapLayer("ArcGIS:Streets", {
apikey: "< YOUR VALID API KEY HERE >",
}).addTo(map);
</script>
</body>
</html>
API Reference
L.esri.Vector.vectorBasemapLayer
For rendering basemap layers which use the Esri Basemap Styles API internally. Extends L.Layer.
L.esri.Vector.vectorBasemapLayer("ArcGIS:Streets", {
apikey: "...",
token: "...",
}).addTo(map);
L.esri.Vector.vectorBasemapLayer("ITEM_ID", {
apikey: "...",
token: "...",
}).addTo(map);
Basemap Names
Please see the documentation for a list of basemap names you can use (ArcGIS:Streets
, ArcGIS:DarkGray
, ArcGIS:Imagery:Standard
, OSM:Standard
, etc).
L.esri.Vector.vectorTileLayer
For custom vector tiles layers published from user data. Extends L.Layer.
L.esri.Vector.vectorTileLayer("ITEM_ID", {
apikey: "...",
token: "...",
style: (style) => {
return newStyle;
}
}).addTo(map);
L.esri.Vector.vectorTileLayer("SERVICE_URL", {
apikey: "...",
token: "...",
style: (style) => {
return newStyle
}
}).addTo(map);
Development Instructions
Quickstart Development Instructions
- Fork and clone this repo.
cd
into the esri-leaflet-vector
folder.- Install the dependencies with
npm install
. - Run
npm run dev
to compile the raw source inside a newly created dist
folder and start up a development web server.
- Alternatively, run
npm run start
to compile raw source code into both "debug" and "production" versions. This process will take longer to compile when saving your local changes to source code. Recommended only when building for production.
- Open
examples/quickstart-dev.html
to see local changes in action.
Advanced Development Instructions
- Fork and clone this repo.
cd
into the esri-leaflet-vector
folder.- Install the dependencies with
npm install
. - Run
npm run build
to compile the raw source inside a newly created dist
folder. - Run
npm test
from the command line to execute tests. - Open
examples/quickstart-dev.html
or examples/quickstart-prod.html
to see local changes in action. - Create a pull request if you'd like to share your work.
Dependencies
Resources
Issues
Find a bug or want to request a new feature? Please let us know by submitting an issue.
Please take a look at previous issues on Esri Leaflet and Esri Leaflet Vector that resolve common problems.
You can also post issues on the GIS Stack Exchange an/or the Esri Leaflet place on GeoNet.
Contributing
Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.
Licensing
Copyright © 2016-2020 Esri
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
A copy of the license is available in the repository's LICENSE file.