All Projects → Esri → esri-leaflet-vector

Esri / esri-leaflet-vector

Licence: other
Display ArcGIS Online vector basemaps w/ Esri Leaflet

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects
HTML
75241 projects

Projects that are alternatives of or similar to esri-leaflet-vector

leaflet.esri
ESRI Plugin for Leaflet R Package
Stars: ✭ 31 (-20.51%)
Mutual labels:  leaflet, esri, esri-leaflet
Leaflet.featuregroup.subgroup
Creates a Feature Group that adds its child layers into a parent group when added to a map (e.g. through L.Control.Layers)
Stars: ✭ 79 (+102.56%)
Mutual labels:  leaflet, leaflet-plugins
Leaflet.TileLayer.Fallback
Replaces missing Tiles by scaled lower zoom Tiles
Stars: ✭ 29 (-25.64%)
Mutual labels:  leaflet, leaflet-plugins
Leaflet.browser.print
A leaflet plugin which allows users to print the map directly from the browser
Stars: ✭ 94 (+141.03%)
Mutual labels:  leaflet, leaflet-plugins
Leaflet.extras2
Extra functionality for leaflet R package.
Stars: ✭ 37 (-5.13%)
Mutual labels:  leaflet, leaflet-plugins
Leaflet Geoman
🍂🗺️ The most powerful leaflet plugin for drawing and editing geometry layers
Stars: ✭ 1,088 (+2689.74%)
Mutual labels:  leaflet, leaflet-plugins
Leaflet Gps
Simple leaflet control plugin for tracking gps position
Stars: ✭ 90 (+130.77%)
Mutual labels:  leaflet, leaflet-plugins
Iclient Javascript
Modern GIS Web Client for JavaScript, based on Leaflet\OpenLayers\MapboxGL-JS\Classic(iClient8C), enhanced with ECharts\D3\MapV etc. Contributed by SuperMap & community.
Stars: ✭ 593 (+1420.51%)
Mutual labels:  leaflet, leaflet-plugins
Ngx Leaflet Starter
A soup of Angular and Leaflet
Stars: ✭ 208 (+433.33%)
Mutual labels:  leaflet, leaflet-plugins
Leaflet Panel Layers
Leaflet Control Layers extended with support groups and icons
Stars: ✭ 210 (+438.46%)
Mutual labels:  leaflet, leaflet-plugins
workflowmanager-viewer-js
Source code for ArcGIS Workflow Manager JavaScript viewer - Manage your workflows on the web.
Stars: ✭ 23 (-41.03%)
Mutual labels:  web-development, esri
Leaflet.markercluster.freezable
Adds ability to freeze clusters at specified zoom
Stars: ✭ 21 (-46.15%)
Mutual labels:  leaflet, leaflet-plugins
Leaflet.flowecharts
leaflet plugin for Baidu Echarts
Stars: ✭ 17 (-56.41%)
Mutual labels:  leaflet, leaflet-plugins
Leaflet.path.drag
Drag functionality for Leaflet vector layers
Stars: ✭ 72 (+84.62%)
Mutual labels:  leaflet, leaflet-plugins
Heatmap.js
🔥 JavaScript Library for HTML5 canvas based heatmaps
Stars: ✭ 5,685 (+14476.92%)
Mutual labels:  leaflet, leaflet-plugins
Leaflet.layergroup.collision
Leaflet plugin for uncluttering L.Markers using basic collision detection.
Stars: ✭ 82 (+110.26%)
Mutual labels:  leaflet, leaflet-plugins
Esri Leaflet Geocoder
helpers for using the ArcGIS World Geocoding Service in Leaflet
Stars: ✭ 164 (+320.51%)
Mutual labels:  web-development, leaflet-plugins
Leaflet Ant Path
🌿🐜 Creates a leaflet polyline with a 'ant-path' animated flux
Stars: ✭ 296 (+658.97%)
Mutual labels:  leaflet, leaflet-plugins
Leaflet.markercluster
Marker Clustering plugin for Leaflet
Stars: ✭ 3,305 (+8374.36%)
Mutual labels:  leaflet, leaflet-plugins
Geopackage Js
GeoPackage JavaScript Library
Stars: ✭ 191 (+389.74%)
Mutual labels:  leaflet, leaflet-plugins

Esri Leaflet Vector Tile Plugin

npm version apache licensed

A plugin for Esri Leaflet to visualize Vector tiles from ArcGIS Online.

Example

Take a look at the live demo.

Example Image

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Esri Leaflet Vector Basemap</title>
    <meta name="viewport" content="width=device-width, initial-scale=1" />

    <!-- 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>

    <!-- 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@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.

// example using an Esri Basemap Styles API name
L.esri.Vector.vectorBasemapLayer("ArcGIS:Streets", {
  // provide either `apikey` or `token`
  apikey: "...",
  token: "..."
}).addTo(map);
// example using an ITEM_ID
L.esri.Vector.vectorBasemapLayer("ITEM_ID", {
  // provide either `apikey` or `token`
  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.

⚠️ This only supports services using the Web Mercator projection because it relies directly upon maplibre-gl-js. Otherwise, the layer is not guaranteed to display properly. More information is available at Maplibre custom coordinate system.

// example using an ITEM_ID
L.esri.Vector.vectorTileLayer("ITEM_ID", {
  // optional: provide either `apikey` or `token` if not public
  apikey: "...",
  token: "...",

  // optional: if your layer is not hosted on ArcGIS Online,
  // change `portalUrl` to the ArcGIS Enterprise base url
  // (this is necessary when specifying an ITEM_ID)
  portalUrl: "https://www.arcgis.com", // default value
  
  // optional: customize the style with a function that gets the default style from the service
  // and returns the new style to be used
  style: (style) => {
    return newStyle;
  }
}).addTo(map);
// example using a VectorTileServer SERVICE_URL
L.esri.Vector.vectorTileLayer("SERVICE_URL", {
  // optional: provide either `apikey` or `token` if not public
  apikey: "...",
  token: "...",

  // optional: if your layer is not hosted on ArcGIS Online,
  // change `portalUrl` to the ArcGIS Enterprise base url
  // (this may not be necessary when specifying a SERVICE_URL)
  portalUrl: "https://www.arcgis.com", // default value
  
  // optional: customize the style with a function that gets the default style from the service
  // and returns the new style to be used
  style: (style) => {
    return newStyle;
  }
}).addTo(map);

Development Instructions

Quickstart 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 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.
  5. Open examples/quickstart-dev.html to see local changes in action.

Advanced 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 examples/quickstart-dev.html or examples/quickstart-prod.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.

Terms

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].