You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
var mapLayers = {} var currentMapLayer = null
register_hook('init', function () { if (!config.baseMaps) { var osmMapnik = L.tileLayer('//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: config.maxZoom || 19, attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>' } ) osmMapnik.addTo(map)
return }
var layers = {} var preferredLayer = null for (var i = 0; i < config.baseMaps.length; i++) { var def = config.baseMaps[i]
var layer = L.tileLayer( def.url, { attribution: def.attribution, maxNativeZoom: def.maxZoom, maxZoom: config.maxZoom || 19 } )
if (preferredLayer === null) { preferredLayer = layer } if (def.id === options.preferredBaseMap) { preferredLayer = layer }
layers[def.name] = layer mapLayers[def.id] = layer }
preferredLayer.addTo(map) L.control.layers(layers).addTo(map)
map.on('baselayerchange', function (e) { currentMapLayer = e.layer }) })
register_hook('options_form', function (def) { var baseMaps = {}
if (!config.baseMaps) { return }
for (var i = 0; i < config.baseMaps.length; i++) { baseMaps[config.baseMaps[i].id] = config.baseMaps[i].name }
def.preferredBaseMap = { 'name': lang('options:preferredBaseMap'), 'type': 'select', 'values': baseMaps } })
register_hook('options_save', function (data) { if ('preferredBaseMap' in data && data.preferredBaseMap in mapLayers) { if (currentMapLayer) { map.removeLayer(currentMapLayer) }
map.addLayer(mapLayers[data.preferredBaseMap]) } })
|