Я никогда раньше не работал с JavaScript. Я пытаюсь создать карту, где разные слои могут быть скрыты для каждого пользователя. Я наткнулся на полезный пример на карте, в котором показан точный код на https://www.mapbox.com/mapbox-gl-js/example/toggle-layers/.map box js; скрыть и показать ярлык
Теперь, моя проблема в том, что у меня много точечных слоев разных величин, я был вынужден создать несколько слоев и отфильтровать их на основе требуемого атрибута, чтобы каждый элемент отображал эту конкретную величину. Тем не менее, я хочу, чтобы все эти точки были организованы в годы, поэтому я сгруппировал слои. Поэтому все имена слоев выглядят примерно так (2006_mag2,2006_mag8,2010_mag3 ...).
Однако, я хочу, чтобы функция hide/show показывала слои на основе лет. Поэтому я думал, что могу сделать своего рода оператора, как мы используем в sql (т. Е. «2006%» или оператор LIKE). Глядя на некоторые должности, многие люди используют «*» в JavaScript? Так это то, что это будет выглядеть для каждого слоя по отдельности перед:
var toggleableLayerIds = [ '2006_mag2', '2010_mag3' ];
for (var i = 0; i < toggleableLayerIds.length; i++) {
var id = toggleableLayerIds[i];
}
и это моя неудачной попытки пытается сгруппировать несколько слоев вместе:
var toggleableLayerIds = [ '2006.*', '2008.*' ];
for (var i = 0; i < toggleableLayerIds.length; i++) {
var id = toggleableLayerIds[i];
}
Любой инструктивный вам, ребята может предоставить будет очень признателен.
Благодарим за быстрый ответ. Цикл имеет смысл. Я просто надеюсь, что с каждым годом появятся кнопки справа от экрана. И как только кто-то нажимает кнопку, все точки, связанные с этим годом, исчезнут. Я не думаю, что это преуменьшение, чтобы сказать, что я понятия не имею, что я делаю. Вот jsfiddle, который удивляет, удивляет, я не могу работать. Какие-либо предложения? https://jsfiddle.net/albinoham/x1qvuzg9/2/#&togetherjs=UfvI3hbGSB – user6784706
Я отредактировал jsFiddle, вам может потребоваться предоставить токен mapBox, чтобы он работал [https://jsfiddle.net/x1qvuzg9/4/ ] (https://jsfiddle.net/x1qvuzg9/4/) Карта не будет отображаться в jsfiddle, если вы не вернетесь правильно импортировать файлы mapBox. Я предлагаю скопировать/вставить javascript только в локальные html-файлы. –
Ты абсолютная звезда. Спасибо, что нашли время. – user6784706