-
-
Save mourner/1804938 to your computer and use it in GitHub Desktop.
var cloudmade = new L.TileLayer.CloudMade({key: 'API-KEY', styleId: 997}), | |
openStreetMap = new L.TileLayer.OpenStreetMap(), | |
openCycleMap = new L.TileLayer.OpenCycleMap(), | |
mapquestOsm = new L.TileLayer.MapQuestOpen.OSM(), | |
mapquestAerial = new L.TileLayer.MapQuestOpen.Aerial(), | |
mapbox = new L.TileLayer.MapBox({user: 'kkaefer', map: 'island'}); |
// Lefalet shortcuts for common tile providers - is it worth adding such 1.5kb to Leaflet core? | |
L.TileLayer.Common = L.TileLayer.extend({ | |
initialize: function (options) { | |
L.TileLayer.prototype.initialize.call(this, this.url, options); | |
} | |
}); | |
(function () { | |
var osmAttr = '© <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>'; | |
L.TileLayer.CloudMade = L.TileLayer.Common.extend({ | |
url: 'http://{s}.tile.cloudmade.com/{key}/{styleId}/256/{z}/{x}/{y}.png', | |
options: { | |
attribution: 'Map data ' + osmAttr + ', Imagery © <a href="http://cloudmade.com">CloudMade</a>', | |
styleId: 997 | |
} | |
}); | |
L.TileLayer.OpenStreetMap = L.TileLayer.Common.extend({ | |
url: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', | |
options: {attribution: osmAttr} | |
}); | |
L.TileLayer.OpenCycleMap = L.TileLayer.Common.extend({ | |
url: 'http://{s}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png', | |
options: { | |
attribution: '© OpenCycleMap, ' + 'Map data ' + osm | |
} | |
}); | |
var mqTilesAttr = 'Tiles © <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> <img src="http://developer.mapquest.com/content/osm/mq_logo.png" />'; | |
L.TileLayer.MapQuestOpen.OSM = L.TileLayer.Common.extend({ | |
url: 'http://otile{s}.mqcdn.com/tiles/1.0.0/{type}/{z}/{x}/{y}.png', | |
options: { | |
subdomains: '1234', | |
type: 'osm', | |
attribution: 'Map data ' + L.TileLayer.OSM_ATTR + ', ' + mqTilesAttr | |
} | |
}); | |
L.TileLayer.MapQuestOpen.Aerial = L.TileLayer.MapQuestOpen.OSM.extend({ | |
options: { | |
type: 'sat', | |
attribution: 'Imagery © NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency, ' + mqTilesAttr | |
} | |
}); | |
L.TileLayer.MapBox = L.TileLayer.Common.extend({ | |
url: 'http://{s}.tiles.mapbox.com/v3/{user}.{map}/{z}/{x}/{y}.png' | |
}); | |
}()); |
Very nice, thank you.
This is really useful. It seems like from this then that only CloudMade and MapBox let you actually customize the map tiles? Does anyone know if that's correct?
Here's a suggested update to include some NASA imagery: https://gist.github.com/mcechini/a814f36c7d1612e84c18
MapQuest just ended support for their open tile service.
I signed up to get an API key, just to find out that now I need to get their Leaflet plugin to use MapQuest:
- The plugin weighs 26 KB (why not embrace the easy config of just being able to change URL to change providers??!)
- Needs to be loaded from their CDN (= doesn't support closed intranets)
I just cannot justify adding 26 KB more of JavaScript libraries to my application and adding one more single point of failure FOR NO APPARENT REASON WHATSOEVER (better behaviour: change URL -> change provider).
MapQuest just lost a user. I liked their map colors more (compared to OpenStreetMap), but upon learning about the bad choices they made, I'll revert back to using OpenStreetMap. :)
joonas-fi - how do you deal with OSM where local languages are displayed on the map?
Has anyone figured out the issue with the local language on openstreetmap?
There are lots of tile servers available based on OSM, you can choose the one that fits your requirement.
Visit : http://leaflet-extras.github.io/leaflet-providers/preview/
There are lots of tile servers available based on OSM, you can choose the one that fits your requirement. Visit : http://leaflet-extras.github.io/leaflet-providers/preview/
Hi
Can you tell me how to add this to a qgis map
Really useful. Thank you! :D