将添加的源中的点添加到Mapbox标签

我正在尝试从添加的图层中获取数据,并将其添加为股票地图上的国家/地区标签(在本例中为Dark V 10)。

以下代码使我可以将添加的图层中的数据( EatPlace )添加为单独的标签(有效,但不是我想要的):

map.on('load',function() {

  map.addSource('CEVectorSource',{ //The link to your tileset
      'type': 'vector','url': 'mapbox://xxxxx.xxxxxxxxxxxxxxxxxxx'
    });

  map.addLayer({
      "id": "CountriesEatenNames","type": "symbol","source": "CEVectorSource","source-layer": "CEVectorsTileset","filter": ["all",["match",["geometry-type"],["Point"],true,false]],"layout": {
        "text-field": ['format',['upcase',['get','EatPlace']],{ 'font-scale': .8 },'\n',{},'EatDate'],{ 'font-scale': .6 }],"text-font": ["Open Sans Semibold","Arial Unicode MS Bold"],"text-offset": [0,0.6],//"text-allow-overlap": true,"text-variable-anchor": ['top','bottom','left','right']
      },"paint": {
        "text-color" : 'rgb(255,221,153)' // Text Color
      }
    });
});

这是使我可以修改要修改的标签的代码:

map.setLayoutProperty('country-label','text-field','name_en'])

这是行不通的:

map.setLayoutProperty('country-label','EatPlace'])

结合这些概念我没有运气。任何帮助都是神圣的。

zdh064105 回答:将添加的源中的点添加到Mapbox标签

如果我对您的理解正确,那么您有一个国家/地区的点集,一个地方/地点的点集,并且您想为每个国家/地区显示从地方/地点的集合派生的一段文字。

那是行不通的。 Mapbox-GL-JS如何知道将哪个国家/地区与给定的地点相关联?您将需要找到一些方法将它们首先组合成一个层。

本文链接:https://www.f2er.com/2903703.html

大家都在问