renderMap = {
return function* renderMap(options, mapHeight = height) {
const container = html`<div style="height:${mapHeight}px;">`;
yield container;
const map = (container.value = new mapboxgl.Map({
container,
center: [-111.93421, 33.42103],
zoom: 14,
style: "mapbox://styles/mapbox/streets-v11",
scrollZoom: false,
...options,
}));
map.addControl(new mapboxgl.NavigationControl());
invalidation.then(() => map.remove());
yield new Promise(resolve => {
if (map.loaded()) resolve(map);
else map.on('load', () => resolve(map));
});
yield container;
}
}