我做了它沒有黑客傳單繪製來源。
將控件添加到地圖後,我在控件中放置了一個隱藏的div。然後當創建一個多邊形時,我顯示該div。我使用CSS將它絕對放置在控件上,這樣就可以「禁用」按鈕和CSS來使按鈕顯得褪色。如果多邊形被刪除,然後我隱藏該div。
不是最好的解決方案,但我工作時無需編輯源代碼。
添加drawControl後,我添加了隱藏的div:
$('.leaflet-draw-section:first').append('<div class="leaflet-draw-inner-toolbar" title="Polygon already added"></div>');
這裏的JS切換他們:
map.on('draw:created', function (e) {
var type = e.layerType,
layer = e.layer;
// keep the polygon on the map
drawnItems.addLayer(layer);
// disable the create polygon tools
$('.leaflet-draw-inner-toolbar').show();
});
map.on('draw:deleted', function(e) {
// enable the create polygon tools
$('.leaflet-draw-inner-toolbar').hide();
});
這裏的CSS:
.leaflet-draw-inner-toolbar {
background: none repeat scroll 0 0 rgba(255, 255, 255, 0.6);
bottom: 0;
display: none;
left: 0;
position: absolute;
right: 0;
top: 0;
}
你能更清楚地描述你的最終目標嗎? –
@LSA - 當然,基本上,需要修改Leaflet.draw以將地圖上繪製的多邊形數量限制爲1.並且還需要限制該多邊形的大小。如果沒有使用leaflet.draw,還有其他方法可以這樣做,我也願意使用該方法。 – whistler
你有解決嗎?你有做過什麼嗎?如果是,你可以發佈你的解決方案 – user902383