Initial commit
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
/* global google */
|
||||
const L = require('leaflet');
|
||||
const NEW_YORK = [40.7127837, -74.0059413];
|
||||
|
||||
/**
|
||||
* Creates a default fallback map, to be used when an user doesn't have a public map.
|
||||
*
|
||||
* @param opts {Object} config
|
||||
* el: {HTMLElement} an HTMLElement node where to draw the map
|
||||
*/
|
||||
module.exports = function (opts) {
|
||||
if (opts.basemap.urlTemplate) {
|
||||
const map = L.map(opts.el, {
|
||||
zoomControl: false,
|
||||
minZoom: 6,
|
||||
maxZoom: 6,
|
||||
scrollWheelZoom: false
|
||||
});
|
||||
|
||||
map.setView(NEW_YORK, 6);
|
||||
|
||||
map.dragging.disable();
|
||||
map.touchZoom.disable();
|
||||
map.doubleClickZoom.disable();
|
||||
|
||||
map.attributionControl.setPrefix('');
|
||||
|
||||
let url = opts.basemap.urlTemplate;
|
||||
|
||||
if (window.devicePixelRatio > 1) {
|
||||
url = opts.basemap.urlTemplate2x || url;
|
||||
}
|
||||
|
||||
L.tileLayer(url, {
|
||||
attribution: opts.basemap.attribution
|
||||
}).addTo(map);
|
||||
} else if (opts.basemap.className === 'googlemaps' && google.maps !== undefined) {
|
||||
const map = new google.maps.Map(opts.el, { // eslint-disable-line
|
||||
center: { lat: NEW_YORK[0], lng: NEW_YORK[1] },
|
||||
zoom: 6,
|
||||
draggable: false,
|
||||
scrollwheel: false,
|
||||
panControl: false,
|
||||
zoomControl: false,
|
||||
streetViewControl: false,
|
||||
maxZoom: 6,
|
||||
minZoom: 6,
|
||||
mapTypeControl: false,
|
||||
mapTypeId: opts.basemap.baseType || google.maps.MapTypeId.ROADMAP,
|
||||
styles: [
|
||||
{
|
||||
featureType: 'all',
|
||||
elementType: 'labels',
|
||||
stylers: [
|
||||
{ visibility: 'off' }
|
||||
]
|
||||
},
|
||||
{
|
||||
featureType: 'road',
|
||||
elementType: 'geometry',
|
||||
stylers: [
|
||||
{ visibility: 'off' }
|
||||
]
|
||||
},
|
||||
{
|
||||
featureType: 'administrative',
|
||||
elementType: 'geometry.stroke',
|
||||
stylers: [
|
||||
{ visibility: 'off' }
|
||||
]
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user