map = {
const { lat, lng, z } = mapConfig;
let container = DOM.element('div', { style: `width:${1000}px;height:${width/1.6}px` });
d3.select(container).classed('info')
yield container;
let map = L.map(container, { scrollWheelZoom: false }).setView([lat, lng], z);
let osmLayer = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}).addTo(map);
const statesLayer = L.geoJson(merged_data, {
style: style,
onEachFeature
}).addTo(map);
function style(feature) {
return {
fillColor: getColor(feature.properties.Q_Val),
weight: 2,
opacity: 1,
color: 'white',
dashArray: '3',
fillOpacity: 0.7
};
}
function getColor(d) {
return d > Levels[6] ? '#800026' :
d > Levels[5] ? '#BD0026' :
d > Levels[4] ? '#E31A1C' :
d > Levels[3] ? '#FC4E2A' :
d > Levels[2] ? '#FD8D3C' :
d > Levels[1] ? '#FEB24C' :
d > Levels[0] ? '#FED976' :
'#FFEDA0';
}
var geojson;
function highlightFeature(e) {
var layer = e.target;
layer.setStyle({
weight: 5,
color: '#666',
dashArray: '',
fillOpacity: 0.7
});
if (!L.Browser.ie && !L.Browser.opera && !L.Browser.edge) {
layer.bringToFront();
}
};
function resetHighlight(e) {
geojson.resetStyle(e.target);
}
function zoomToFeature(e) {
map.fitBounds(e.target.getBounds());
}
function onEachFeature(feature, layer) {
layer.bindTooltip("<div style='background:white; padding:1px 3px 1px 3px'><b>" + feature.properties.NAME + "</b><br>" +
toolTip_title[0] + ": " + feature.properties.Q_Val + toolTip_title[1] + "</div>",
{
direction: 'right',
permanent: false,
sticky: true,
offset: [10, 0],
opacity: 0.95,
className: 'leaflet-tooltip-own'
});
layer.on({
mouseover: highlightFeature,
mouseout: resetHighlight,
click: zoomToFeature
});
}
geojson = L.geoJson(merged_data, {
style: style,
onEachFeature: onEachFeature
}).addTo(map);
}