Как разъединить полилинию между серией маркеров и начать новую в буклете? - PullRequest
0 голосов
/ 03 августа 2020

Я использую листовку. Я могу добавлять маркеры на карту и соединять их методом polyLine. Вот ссылка на мой текущий код здесь . На данный момент код работает следующим образом: вы можете начать с точки A, затем до точки B, а затем до точки C и так далее. Итак, это непрерывная цепочка точек, соединенных с ломаной линией. Что я хочу, так это дать пользователю возможность, например, при нажатии клавиши escape или наличии опции щелчка на div. Я хочу, чтобы пользователь разорвал эту цепочку и позволил ему начать с добавления маркеров на карту, сохраняя ранее нанесенные на карту. Таким образом, я хочу, чтобы пользователь добавил туда, где он хочет добавить и отключить, либо нажав escape, либо щелкнув тег div и начав вторую серию, а затем третью и так далее. Пожалуйста, взгляните на мой код.

 //Plotting the points
 map.on('click', function(e) {

  if (!_firstLatLng) {
    _firstLatLng = e.latlng;
    _firstPoint = e.layerPoint;
    L.marker(_firstLatLng).addTo(_map).bindPopup('e.latlng + '<br/>' + e.layerPoint).openPopup();
  } else {
    _secondLatLng = e.latlng;
    _secondPoint = e.layerPoint;
    L.marker(_secondLatLng).addTo(_map).bindPopup(e.latlng + '<br/>' + e.layerPoint).openPopup();
  }
 // connecting two points
  if (_firstLatLng && _secondLatLng) {
    // draw the line between points
    L.polyline([_firstLatLng, _secondLatLng], {
      color: 'blue'
    }).addTo(_map);
    _firstLatLng  = _secondLatLng
  }
})

Не могли бы вы помочь мне с logi c здесь?

Как я могу его реализовать?

Любая помощь ценится. Благодарю вас.

Примечание: карта может быть не видна из-за некоторых проблем, но вы можете щелкнуть карту, чтобы выбрать точки

...