Leaflet 单张突出显示多段线的一部分

Leaflet 单张突出显示多段线的一部分,leaflet,highlight,polyline,Leaflet,Highlight,Polyline,在传单.js中,我在openstreet地图中有多段线: 点1(长,横向),2(长,横向)…点XY(长,横向) 无论如何调用,都可以(以及如何)高亮显示或更改从点2到点5的仅颜色段。 我尝试添加另一条多段线,但随着线段的增多,它会与越来越多的双面点混淆 工作样本: 我正在寻找[40,10]、[10,10]、[10,30]红色之间的转弯段。如果可能,通过索引[2,3,4] 感谢您的帮助您可以尝试使用GeoJson图层突出显示一行。只需确保geojson坐标为LngLat格式 var map =

在传单.js中,我在openstreet地图中有多段线: 点1(长,横向),2(长,横向)…点XY(长,横向)

无论如何调用,都可以(以及如何)高亮显示或更改从点2到点5的仅颜色段。 我尝试添加另一条多段线,但随着线段的增多,它会与越来越多的双面点混淆

工作样本:

我正在寻找[40,10]、[10,10]、[10,30]红色之间的转弯段。如果可能,通过索引[2,3,4]


感谢您的帮助

您可以尝试使用
GeoJson
图层突出显示一行。只需确保geojson坐标为
LngLat
格式

var map = L.map('map', {
  center: [0, 0],
  zoom: 0,
  layers: [
    L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
      attribution: 'Map data © OpenStreetMap contributors',
    }),
  ],
});

var data = {
  type: 'FeatureCollection',
  features: [
    {
      type: 'Feature',
      geometry: {
        type: 'LineString',
        coordinates: [[30, 10], [45, 45]],
      },
      properties: {
        color: 'green',
      },
    },
    {
      type: 'Feature',
      geometry: {
        type: 'LineString',
        coordinates: [[10, 40], [10, 10], [30, 10]],
      },
      properties: {
        color: 'red',
      },
    },
    {
      type: 'Feature',
      geometry: {
        type: 'LineString',
        coordinates: [[-45, -45], [10, 40]],
      },
      properties: {
        color: 'black',
      },
    },
  ],
};

var geoJsonLayer = L.geoJson(data, {
  onEachFeature: function(feature, layer) {
    if (layer instanceof L.Polyline) {
      layer.setStyle({
        color: feature.properties.color,
      });
    }
  },
}).addTo(map);
普朗克:

参考:

好的,这样就行了。但在动态生成中,Highlite segmets非常复杂(在使用前准备好每个彩色segmets,而不是简单的,从一个索引到另一个索引将其变为绿色。但感谢您为我展示了可能的方法。