首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mapbox:- what层中特性的堆叠顺序决定了它?你能换一下吗?

Mapbox:- what层中特性的堆叠顺序决定了它?你能换一下吗?
EN

Stack Overflow用户
提问于 2020-09-23 16:33:38
回答 1查看 975关注 0票数 1

我有一个向量瓷砖层,面积从100万英亩到不到20英亩,大约有120个特征。我有鼠标盖的问题,大的特征遮挡了它们后面的小瓷砖。

我认为这与源数据有关,源数据是按位置名称按字母顺序排序的。碰巧的是,“卡森国家森林”,这是大,是顶部的“瓦勒维达尔”,这是小得多。所以我不能通过鼠标交互来选择后者。

是按面积按升序排序特性并重新导入数据集的解决方案,还是在Mapbox中我可以做一些事情来交换它们的位置?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-24 03:21:20

你的问题有两种解决方案。

我假设你的多边形有一个area属性。

在鼠标上找到最小的多边形

首先,大多边形实际上不会阻止小多边形触发“鼠标操作”事件。该事件由鼠标下面的所有功能触发。所以你可以故意选择最小的。

代码语言:javascript
复制
map.on('mouseover', e => {
   e.features.sort((a, b) => a.properties.area - b.properties.area);
   const smallestFeature = e.features[0];
});

如果您没有area属性,则此方法也有效--您可以使用Turf动态计算它,尽管它在瓷砖边界上是不正确的。

使用fill-sort-key对多边形进行排序

另一种方法是在层定义中使用fill-sort-key属性:

代码语言:javascript
复制
   layout: {
     'fill-sort-key': ['-', ['get', 'area']]
   }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64032432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档