У меня проблема, когда мне нужно изменить слой карты (отображаемые фрагменты карты) в моем веб-приложении.Переключение уровня в OpenLayers 3
У меня есть это в моем HTML
<div id="map"></div>
<select onchange="changeMap()">
<option value="BingSat">Bing Sat</option>
<option value="BingRoad">Bing Road</option>
<option value="OSM">OSM</option>
<option value="MapquestSat">Mapquest Sat</option>
<option value="MapQuestRoad">MapQuest Road</option>
</select>
и это то, что у меня в JavaScript до сих пор
$(document).ready(function() {
map = new ol.Map({
logo:'false',
target: 'map',
layers: [
new ol.layer.Group({
'title': 'Base maps',
layers: [
new ol.layer.Tile({
title: 'Water color',
type: 'base',
visible: false,
source: new ol.source.Stamen({
layer: 'watercolor'
})
}),
new ol.layer.Tile({
title: 'OSM',
type: 'base',
visible: true,
source: new ol.source.OSM()
}),
new ol.layer.Tile({
title: 'MapQuest Satellite',
type: 'base',
visible: false,
source: new ol.source.MapQuest({layer: 'sat'})
}),
new ol.layer.Tile({
title: 'MapQuest OSM',
type: 'base',
visible: false,
source: new ol.source.MapQuest({layer: 'osm'})
}),
new ol.layer.Tile({
title: 'Bing Maps aerial',
type: 'base',
visible: false,
source: new ol.source.BingMaps({
imagerySet: 'AerialWithLabels',
key: '123'
})
}),
new ol.layer.Tile({
title: 'Bing Maps road',
type: 'base',
visible: false,
source: new ol.source.BingMaps({
imagerySet: 'Road',
key: '123'
})
})
]
}),
],
view: new ol.View({
center: ol.proj.transform([17.813988, 43.342019], 'EPSG:4326', 'EPSG:3857'),
zoom: 3
})
});
}
function changeMap() {
//grab the selected ID
//change the map according to the selected ID
}
Что бы Мне нужно сделать, чтобы изменить отображаемую карту? Я просмотрел https://github.com/walkermatt/ol3-layerswitcherdescription]1, но я не могу включить его полностью в свой проект, потому что мне нужен раскрывающийся список внутри перегруженной боковой панели. Я пробовал редактировать его код, чтобы он добавил сгенерированный HTML-код внутри моей боковой панели, но это не сработало.
Есть ли более простой способ изменения отображаемой карты?