2014-02-12 2 views
0

можно добавить кнопку L.Control, поэтому, когда пользователь нажмет на нее, пользователь сможет нарисовать полилинию? Я могу легко добавить кнопку L.Control.Draw по умолчанию, но это не то, что я хочу, я просто хочу функциональность этой кнопки :)Leaflet.js & Leaflet.Draw - создать кнопку рисования линии полилинии

+0

Чтобы уточнить, вы хотите, чтобы быть в состоянии назвать жеребьевку функции инициализации с вашим собственным пользовательский buttom? Если да, то это дубликат https://stackoverflow.com/questions/15775103/leaflet-draw-mapping-how-to-initiate-the-draw-function-without-toolbar?rq=1 – raphael

ответ

0

Простейшим решением было бы добавить свойство CSS display:none;, которое перемещает кнопки управления вверх, не нарушая пользовательский интерфейс. Вот следующие классы, которые вы хотели бы скрыть:

  • листовка-дро-дро-маркер
  • листовка-дро-дро-круг
  • листовка-дро-дро-прямоугольник
  • листовку-дро -draw-polygon

В качестве альтернативы вы можете использовать вилку Leaflet.draw и просто удалять детали, относящиеся к другим геофизическим характеристикам.

1

Вместо того, чтобы переопределять (скрывать) функциональность извне, вы можете использовать определение L.Control.Draw (которое я большой поклонник) для показа или не показывать то, что вы хотите. Таким образом, чтобы использовать L.Control.Draw показать только кнопку, чтобы определить ломаную линию, вы можете установить его как:

var drawControl = new L.Control.Draw({ 
     position: 'topleft', 
     draw: { 
      polyline: { <whatever options you want> }, 
      polygon: false, 
      rectangle: false, 
      circle: false, 
      marker: false 
     }, 
     edit: false 
    }); 
Смежные вопросы