Javascript Mapbox gl js等高线+;高程

Javascript Mapbox gl js等高线+;高程,javascript,contour,elevation,mapbox-gl-js,Javascript,Contour,Elevation,Mapbox Gl Js,如何将带有高程标签的等高线图层添加到地图中?我发现了这个:,但它没有显示如何。我还发现了这一点:,但等高线没有高度信息。通过查看地图,您可以看到我们是如何在卫星样式上实现等高线标签的 简而言之,你需要的是 引用的源,其中包括 用使用{token} 这个问题不久前就发布了,但仅仅因为我是为了我的项目而发布的,我在这里分享它: map.addLayer({ "id": "countour-labels", "type": "symbol", "source": { type:

如何将带有高程标签的等高线图层添加到地图中?我发现了这个:,但它没有显示如何。我还发现了这一点:,但等高线没有高度信息。

通过查看地图,您可以看到我们是如何在卫星样式上实现等高线标签的

简而言之,你需要的是

  • 引用的源,其中包括
  • 用使用
    {token}

这个问题不久前就发布了,但仅仅因为我是为了我的项目而发布的,我在这里分享它:

map.addLayer({
  "id": "countour-labels",
  "type": "symbol",
  "source": {
    type: 'vector',
    url: 'mapbox://mapbox.mapbox-terrain-v2'
  },
  "source-layer": "contour",
  'layout': {
    'visibility': 'visible',
    'symbol-placement': 'line',
    'text-field': ['concat', ['to-string', ['get', 'ele']], 'm']
  },
  'paint': {
    'icon-color': '#877b59',
    'icon-halo-width': 1,
    'text-color': '#877b59',
    'text-halo-width': 1
  }
})

map.addLayer({
  "id": "countours",
  "type": "line",
  "source": {
    type: 'vector',
    url: 'mapbox://mapbox.mapbox-terrain-v2'
  },
  "source-layer": "contour",
  'layout': {
    'visibility': 'visible',
    'line-join': 'round',
    'line-cap': 'round'
  },
  'paint': {
    'line-color': '#877b59',
    'line-width': 1
  }
})

有没有办法在缩放级别小于9的情况下显示轮廓?使其看起来像9是将显示的最低缩放级别。源定义了显示相应数据的缩放级别,因此不可能使用mapbox地形。但是,您仍然可以创建自己的tileset,根据需要定义缩放规则,并将其上载到mapbox StudioHanks(例如!这似乎是将标签放置在立面线的顶部(中心),是否有办法移动标签,使其不被线条“交叉”,例如偏移或类似的东西?弄明白了,我们可以使用图层上的“文本锚定”:“底部”将标签移到轮廓线的顶部!