Skip to content

CityOfPhiladelphia/esri-leaflet-vector

 
 

Repository files navigation

CityOfPhiladelphia's fork of Esri Leaflet Vector Tile Plugin

This was forked from esri-leaflet-vector on 3/19/2019 by Andy Rothwell. It is no longer updated regularly by Esri, and one of the dependencies of it's dependencies, static-eval, was being pulled in as a very old version and it was a security risk according to GitHub.

In package.json the following dependencies were updated:

This package is a dependency of L.esri.WebMap, which is a dependency of phila-vue-mapping.

L.esri.WebMap is used by layerboard to create an app out of an AGO Webmap.

There is more information about all forked repos in the phila-vue-mapping wiki


npm version apache licensed

An experimental plugin for Esri Leaflet to visualize Vector tiles from ArcGIS Online. Built on top of mapbox-gl-leaflet.

Disclaimer

The code here is a house of cards that attempts to synchronize a WebGLRenderingContext with a Leaflet map.

  • It doesn't support rotation
  • It can't draw more than one vector tile source at a time.
  • 404s will be encountered when zooming in past zoom level 15 in areas without much feature density.

For production applications, the ArcGIS API for JavaScript is a much more appropriate choice.

Example

Take a look at the live demo.

Example Image

<html>
<head>
  <meta charset=utf-8 />
  <title>Esri Vector 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/dist/leaflet.css"/>
  <script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>

  <!-- Load Mapbox GL -->
  <link rel="stylesheet" href="https://unpkg.com/mapbox-gl/dist/mapbox-gl.css"/>
  <script src="https://unpkg.com/mapbox-gl/dist/mapbox-gl.js"></script>

  <!-- Esri Leaflet and Esri Leaflet Vector -->
  <script src="https://unpkg.com/esri-leaflet/dist/esri-leaflet.js"></script>
  <script src="https://unpkg.com/esri-leaflet-vector/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.basemap('Newspaper').addTo(map);
</script>

</body>
</html>

API Reference

Development Instructions

  1. Fork and clone this repo
  2. cd into the esri-leaflet-vector folder
  3. Install the dependencies with npm install
  4. run npm run build to compile the raw source inside a newly created dist folder.
  5. run npm test from the command line to execute tests
  6. Open debug/sample.html to see local changes in action.
  7. 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-2018 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.

Packages

No packages published

Languages

  • JavaScript 72.7%
  • HTML 21.7%
  • Shell 5.6%