forked from Snck3rs/contao-leaflet-libraries
64 lines
3.3 KiB
Markdown
64 lines
3.3 KiB
Markdown
Leaflet-providers
|
|
=================
|
|
An extension to [Leaflet](http://leafletjs.com/) that contains configurations for various free<sup>[1](#what-is-free)</sup> tile providers.
|
|
|
|
# Usage
|
|
Leaflet-providers [providers](#providers) are refered to with a `provider[.<variant>]`-string. Let's say you want to add the nice [Watercolor](http://maps.stamen.com/#watercolor/) style from Stamen to your map, you pass `Stamen.Watercolor` to the `L.tileLayer.provider`-constructor, which will return a [L.TileLayer](http://leafletjs.com/reference.html#tilelayer) instance for Stamens Watercolor tile layer.
|
|
|
|
```Javascript
|
|
// add Stamen Watercolor to map.
|
|
L.tileLayer.provider('Stamen.Watercolor').addTo(map);
|
|
```
|
|
|
|
## Protocol relativity (`https://`-urls)
|
|
|
|
Leaflet-providers tries to use `https://` if the page uses `https://` and the provider supports it.
|
|
You can force the use of `http://` by passing `force_http: true` in the options argument.
|
|
|
|
## Retina tiles
|
|
|
|
Some providers have retina tiles for which the URL only needs to be slightly adjusted, e.g. `-----@2x.png`. For this, add the retina option in the URL, e.g. `-----{retina}.png`, and set a retina value in the options, e.g. `retina: '@2x'`. If Leaflet detects a retina screen (`L.Browser.retina`), the retina option passed to the tileLayer is set to the value supplied, otherwise it's replaced by an empty string.
|
|
|
|
# Providers
|
|
|
|
Leaflet-providers provides tile layers from different providers, including *OpenStreetMap*, *Stamen*, *Esri* and *OpenWeatherMap*. The full listing of free to use layers can be [previewed](http://leaflet-extras.github.io/leaflet-providers/preview/index.html). The page will show you the name to use with `leaflet-providers.js` and the code to use it without dependencies.
|
|
|
|
## Providers requiring registration
|
|
|
|
In addition to the providers you are free<b id="what-is-free">1</b> to use, we support some layers which require registration.
|
|
|
|
### HERE (formerly Nokia).
|
|
|
|
In order to use HERE layers, you must [register](http://developer.here.com/). Once registered, you can create an `app_id` and `app_code` which you have to pass to `L.tileLayer.provider` in the options:
|
|
|
|
```Javascript
|
|
L.tileLayer.provider('HERE.terrainDay', {
|
|
app_id: '<insert ID here>',
|
|
app_code: '<insert ID here>'
|
|
}).addTo(map);
|
|
```
|
|
|
|
[Available HERE layers](http://leaflet-extras.github.io/leaflet-providers/preview/#filter=HERE)
|
|
|
|
### Mapbox
|
|
|
|
In order to use Mapbox maps, you must [register](https://tiles.mapbox.com/signup). You can get map ID and ACCESS_TOKEN from [Mapbox projects](https://www.mapbox.com/projects):
|
|
```JavaScript
|
|
L.tileLayer.provider('MapBox', {id: 'ID', accessToken: 'ACCESS_TOKEN'}).addTo(map);
|
|
```
|
|
|
|
### Esri/ArcGIS
|
|
|
|
In order to use ArcGIS maps, you must [register](https://developers.arcgis.com/en/sign-up/) and abide by the [terms of service](https://developers.arcgis.com/en/terms/). No special syntax is required.
|
|
|
|
[Available Esri layers](http://leaflet-extras.github.io/leaflet-providers/preview/#filter=Esri)
|
|
|
|
# Attribution
|
|
|
|
This work was inspired from <https://gist.github.com/1804938>, and originally created by [Stefan Seelmann](https://github.com/seelmann).
|
|
|
|
### What do we mean by *free*?
|
|
<b id="what-is-free">1</b>
|
|
We try to maintain leaflet-providers in such a way that you'll be able to use the layers we include without paying money.
|
|
This doesn't mean no limits apply, you should always check before using these layers for anything serious.
|