Skip to content

Instantly share code, notes, and snippets.

@almccon
Last active November 4, 2016 03:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save almccon/5ec33135bea51edfe17c32f1331c5182 to your computer and use it in GitHub Desktop.
Save almccon/5ec33135bea51edfe17c32f1331c5182 to your computer and use it in GitHub Desktop.
Leaflet styling and interaction
license: mit
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet.js"></script>
<style>
body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; }
#map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var map = L.map('map').setView([30, 0], 2);
L.tileLayer('http://{s}.tile.stamen.com/toner/{z}/{x}/{y}.png', {
attribution: 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://www.openstreetmap.org/copyright">ODbL</a>'
}).addTo(map);
var url = "https://stamen.github.io/spatial-dataviz-for-data-scientists/data/world/ne_50m_admin_0_countries.geojson"
d3.json(url, function(err, data) {
function highlightFeature(e) {
var layer = e.target;
layer.setStyle({
weight: 5,
color: '#666',
fillOpacity: 0.7
});
}
function resetHighlight(e) {
geojsonLayer.resetStyle(e.target);
}
function zoomToFeature(e) {
map.fitBounds(e.target.getBounds());
}
function onEachFeature(feature, layer) {
layer.on({
mouseover: highlightFeature,
mouseout: resetHighlight,
click: zoomToFeature
});
}
var geojsonLayer = L.geoJson(data, {
style: function(feature) {
return {
fillColor: 'lightgreen',
fillOpacity:0.4,
color: 'darkgreen',
weight: 2,
}
},
onEachFeature: onEachFeature
}).addTo(map)
})
</script>
</body>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment