Mapbox 的新 GL API 被证明很难使用。我想知道是否可以通过 jQuery 的 each 函数构建具有这种奇怪格式的数组。
我正在创建一个带有复选框的表单,用于过滤地图上显示的标记。我正在使用$.each()
循环来获取检查的输入,获取它们的 ID,然后将其放在每个数组的中间。一个检查输入是一个数组。
基本上,我需要将数组放在一起:
map.setFilter('markers', ["any",
['in',c1,true],
['in',c2,true], // these 3 arrays
['in',c3,true]
] );
但显然,我需要在检查时动态完成。这是我想使用的不完整的 jQuery:
jQuery('input.checkbox-child').change(function(){
args = new Array();
jQuery('input.checkbox:checked').each(function(){
id = jQuery(this).attr('id');
filter = ['in',id,true];
// ???
});
map.setFilter('markers', ["any", args] );
});
不知道如何将filter
变量连接在一起以形成逗号分隔的数组列表,类似于['in',id,true],['in',id,true],['in',id,true]...
在 setFilter 函数中使用。