{
let container = html`<div style='height:600px;' />`;
yield container;
let map = new mapboxgl.Map({
container,
center: [-122.159846, 37.601883],
zoom: 9,
style: "mapbox://styles/mapbox/streets-v9",
});
function project(d) {
return map.project(new mapboxgl.LngLat(d[0], d[1]));
}
var svg = d3
.select(container)
.append("svg")
.attr("width", "100%")
.attr("height", "400")
.style("position", "absolute")
.style("z-index", 2);
var dots = svg
.selectAll("circle")
.data(location_data)
.enter()
.append("circle")
.attr("r", 2)
.style("opcaity", 0.5)
.style("fill", "#fa1090");
function render() {
dots
.attr("cx", function(d) {
return project(d).x;
})
.attr("cy", function(d) {
return project(d).y;
});
}
render();
map.on("viewreset", render);
map.on("move", render);
map.on("moveend", render);
invalidation.then(() => map.remove());
}