Javascript 单张地图上的等高线标签

Javascript 单张地图上的等高线标签,javascript,maps,label,leaflet,contour,Javascript,Maps,Label,Leaflet,Contour,我有一张包含等高线的地图。每条线对应的高程位于geoJSON的feature.properties.elevation中。我希望实现以下目标: 我在手册中尝试实现的是计算每条多段线的中心,然后在该位置添加一个标记,其中包含feature.properties.Elevation中的数据 L.geoJson(contourJSON, { onEachFeature: function(feature, layer) { var label = L.marker(layer.getBo

我有一张包含等高线的地图。每条线对应的高程位于geoJSON的feature.properties.elevation中。我希望实现以下目标:

我在手册中尝试实现的是计算每条多段线的中心,然后在该位置添加一个标记,其中包含feature.properties.Elevation中的数据

L.geoJson(contourJSON, {
  onEachFeature: function(feature, layer) {
    var label = L.marker(layer.getBounds().getCenter(), {
      icon: L.divIcon({
        className: 'label',
        html: feature.properties.Elevation,
        iconSize: [100, 40]
      })
    }).addTo(map);
  }
});
哪种类型有效,但没有很好的样式,也不清楚哪个值属于特定行:


有什么更好的方法可以添加立面标签,使其可读,并且可以动态显示到当前的缩放级别?我正在使用传单1.0.3,也许可以提供一个解决方案?谢谢

您可能对这些传单插件感兴趣,可能是组合的:(不确定组合它们有多容易)

  • ()
…在矢量数据上显示[s]个标签,同时避免标签冲突

  • ()
沿多段线显示文字

您可能还想查看本教程的其余部分

顺便说一句,我不确定将标签/标记放置在多段线“中心”是否合适。您可以只拾取其中一个顶点,例如,拾取最靠近右/东的顶点,以获得与您提供的示例类似的效果