Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Mapbox Studio中是否有删除距离内重复点标签的选项?_Mapbox_Mapbox Gl Js - Fatal编程技术网

在Mapbox Studio中是否有删除距离内重复点标签的选项?

在Mapbox Studio中是否有删除距离内重复点标签的选项?,mapbox,mapbox-gl-js,Mapbox,Mapbox Gl Js,我正在使用Mapbox Studio以一种样式标记一些点特征(来自我上传的GeoJSON层),并且有一些重复点彼此相邻: Mapbox Studio中是否有自动删除重复标签的选项?例如,某些其他贴图程序可以选择删除指定距离(像素或贴图单位)内的重复标签。这在Mapbox Studio中可用吗(或者在Mapbox GL JS中不可用)?Mapbox Studio不提供自动删除重复标签的方法。您可以通过编写一个相对复杂的表达式来手动过滤重复项,尽管这并不是表达式的预期用途。您还可以向源数据中的重复

我正在使用Mapbox Studio以一种样式标记一些点特征(来自我上传的GeoJSON层),并且有一些重复点彼此相邻:


Mapbox Studio中是否有自动删除重复标签的选项?例如,某些其他贴图程序可以选择删除指定距离(像素或贴图单位)内的重复标签。这在Mapbox Studio中可用吗(或者在Mapbox GL JS中不可用)?

Mapbox Studio不提供自动删除重复标签的方法。您可以通过编写一个相对复杂的表达式来手动过滤重复项,尽管这并不是表达式的预期用途。您还可以向源数据中的重复点要素添加
duplicate:true
特性,但由于这需要操作源数据,因此您最好从源数据中删除重复项,而不是采用这种方法

所说的,你可以考虑聚类你的数据并设计集群,这样集群看起来和任何单独的点一样。演示如何使用Mapbox GL JS创建群集并设置其样式。下面是一个JSFIDLE,它对这个示例进行了大量修改,以对位置相近的点进行集群,并以与对单个点进行样式设置相同的方式对集群进行样式设置:(您需要添加自己的Mapbox访问令牌才能查看结果)。文本标签随包含多个点的每个簇的点计数一起添加,以便您可以很容易地看到簇和单个点除了标签之外是相同的


您可能需要自定义多个属性(例如
clusterRadius
clusterMaxZoom
,等等),使其超出链接的JSFIDLE中提供的属性,以便更具体地针对您的源数据。

这是您自己添加的数据,还是源数据中的重复数据?我看到的唯一选择是在源数据中清除此项,或者如果特征具有唯一ID,则根据ID手动筛选出重复项。@Andrewarvey yep它们是真正的重复项,并且在空间上是唯一的。(它们是车站出口,但我只想给每个车站贴上一次标签)。我希望Mapbox会有一个像Maplex这样的选项,可以忽略附近的副本,但如果我必须对它们进行预处理,这是公平的