mapbox中加载geojson的线型调整

博客记录了如何在paint中通过添加'line-dasharray'字段来设置虚实线效果,该字段接受一个数列作为参数,如[5,5],表示虚实线间隔。虽然官方API是英文且描述不详,但通过实践和代码示例,成功实现了这一功能,并附带了效果图。
摘要由CSDN通过智能技术生成

其实是个很小的功能,但是也记录一下,方便后续查找,其实方法很简单,我就是去翻了官方的api,但是是英文的,而且参数描述的不够详细,也没给demo,所以还是记录一下。就是在paint里面,添加“line-dasharray”字段,字段值为一个数列,譬如[5,5]表示虚实线分别为5米。具体看以下几张图应该就能明白:

这张是官方api说明

这张是代码:

最后是一张效果图:

mapboxgl 对于 geojson 进行筛选的实现是通过使用 Mapbox GL JS 库提供的 `setFilter` 方法来设置过滤器。过滤器可以根据特定的条件来筛选和显示地图上的要素。 使用 `setFilter` 方法需要提供两个参数:图层的名称和过滤器的条件。图层名称可以通过在创建地图时定义或获取地图的 `layernames` 属性来获取。 过滤器的条件是一个数组,其元素由两部分组成:要筛选的属性和筛选条件。通常,要筛选的属性是要素属性的名称,如 "type" 或 "name",筛选条件可以是比较运算符(如等于、不等于、大于、小于等)或逻辑运算符(如和、或、非等)。 例如,如果我们有一个名为 "cities" 的图层,并且我们想要筛选出所有名称为 "New York" 的城市要素,我们可以使用以下代码: ```javascript map.setFilter('cities', ['==', 'name', 'New York']); ``` 上述代码,`setFilter` 方法将名为 "cities" 的图层的过滤器设置为一个数组,数组的第一个元素是比较运算符 "==",表示要筛选的属性值等于后面的值。第二个元素是要筛选的属性名称 "name",第三个元素是筛选的条件值 "New York"。 除了等于运算符,`setFilter` 方法还支持其他比较运算符,如"!="(不等于)、">"(大于)、">="(大于等于)、"<"(小于)和"<="(小于等于)等。 通过设置过滤器,我们可以根据特定的条件对地图上的要素进行筛选,并根据筛选结果来显示或隐藏特定的要素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值