0

我正在使用 Leaflet Routing Machine 创建地图路线。

我的要求是,如果有多个位置,如 A、B、C、D、E。我得到从 A 到 E 的 svg 路径的长度。但我需要从 A 到 B、B 到 C、C 到 D 的长度, D 到 E。请帮助某人。

点击查看图片

红色线是 svg 路径。所以,当我点击任何标记时,我需要从巴塞尔到那个标记的长度。我的意思是,我需要从巴塞尔到纳沙泰尔或巴塞尔到伯尔尼或从纳沙泰尔到伯尔尼等的长度。

var routeControl = L.Routing.control({
  waypoints: waypoints,
  reverseWaypoints: false,
  lineOptions: {
    styles: [{color: 'red', opacity: 1, weight: 3}]
  },
  geocoder: L.Control.Geocoder.nominatim({
    serviceUrl: 'http://localhost:8084/'
  }),
  createMarker: function(i, wp, nWps) {
    console.log(wp)
    let custom_icon = L.divIcon({
      iconSize: [100, 20],
      popupAnchor: [-30, -18],
      shadowUrl: '',
      html: '<div class="notification '+wp.name+'" data-pathid="'+(i+1)+'" style="color: #000;background-color: transparent;"><img src="img/blue.png"><span class="city-name">' + latlng[i].name + '</span></div>'
    })
    marker = L.marker(
      [wp.latLng.lat, wp.latLng.lng], 
      { 
        icon: custom_icon
      })
      .bindPopup(latlng[i].name)
      .openPopup()
      .addTo(map);
    // marker.on('click', onMarkerClick);
  }
}).addTo(map);
4

0 回答 0