У меня есть некоторый код для создания простого выпадающего меню:
<select id="menu" onchange="updateOptions(this)">
<option value="option1" data-path="option1">option1</option>
<option value="option2" data-path="option2">option2</option>
<option value="option3" data-path="option3">option3</option>
</select><br>
Что я хотел бы сделать, это добавить выбранную опцию (которая указывает на объявленный слой листов Leaflet) вЛистовка с картой в виде слоя. Ниже приведен код функции и переменных:
var option1 = L.tileLayer('mapelements/basestructure/option1/{z}/{x}/{y}.png'),
option2= L.tileLayer('mapelements/basestructure/option2/{z}/{x}/{y}.png')
option3= L.tileLayer('mapelements/basestructure/option3/{z}/{x}/{y}.png')
var menufaults = document.getElementById("menu");
function updateFaults(menufaults) {
map.eachLayer(function (layer) {
map.removeLayer(layer);
});
var menuoption1 = menufaults.options[menufaults.selectedIndex].value;
map.addLayer(menuoption1);
};
Переменная menuoption1 извлекает правильное значение параметра из меню, но функция map.addLayer не нравится в качестве ввода. Я получаю ошибку «при условии, что объект не является слоем». Есть ли способ передать «значение опции» в функцию, чтобы оно соответствовало слою листов, уже объявленному как переменная?