Im folgenden Codeausschnitt habe ich das Plug-in flaglet.draw eingerichtet. Funktioniert gut zum Hinzufügen von Features (Linien, Markierungen, Polygone). Funktioniert zum Bearbeiten und Löschen. Aber die Cancel-Operation funktioniert nicht (und auch nicht den einfachen Schnittpunkt-Test, aber ich kann ohne das leben). Irgendeine Idee, was ich falsch gemacht habe, um das Plugin einzurichten?leaflet.draw wird nicht ordnungsgemäß abgebrochen.
(Chrome V44, Prospekt 1.0 Beta 2, leaflet.draw (0.2.4-dev) (scheint auch in Faltblatt zum Scheitern verurteilt '0.7.7')
Hier ist der Fehler.
Uncaught TypeError: Cannot read property '0' of undefined
L.Polyline.L.Path.extend._projectLatlngs @ leaflet-src.js:5535
L.Polyline.L.Path.extend._projectLatlngs @ leaflet-src.js:5547
L.Polyline.L.Path.extend._projectLatlngs @ leaflet-src.js:5547
L.Polyline.L.Path.extend._project @ leaflet-src.js:5519
L.SVG.L.Renderer.extend._updatePath @ leaflet-src.js:6042
L.Path.L.Layer.extend.redraw @ leaflet-src.js:5130
L.Polyline.L.Path.extend.setLatLngs @ leaflet-src.js:5411
L.EditToolbar.Edit.L.Handler.extend._revertLayer @ leaflet.draw-src.js:2759
(anonymous function) @ leaflet.draw-src.js:2716
L.LayerGroup.L.Layer.extend.eachLayer @ leaflet-src.js:4865
L.EditToolbar.Edit.L.Handler.extend.revertLayers @ leaflet.draw-src.js:2715
L.EditToolbar.L.Toolbar.extend.disable @ leaflet.draw-src.js:2578handler @ leaflet-src.js:6953
und hier ist der Code, den ich
var theMap;
var mapLayer;
var carLayer;
var drawLayer;
var drawControl;
var trackerButton;
....
this.setupDraw();
theMap = L.map('mapCanvas', {
center: mCityCenter,
zoom: 20,
layers: [osmLight, mapLayer, carLayer, drawLayer]
});
theMap.on("draw:created", this.addDrawing);
....
this.setupDraw = function() {
drawLayer = new L.FeatureGroup();
drawControl = new L.Control.Draw({
draw: {
polygon: {
allowIntersection: false, // Restricts shapes to simple polygons
showArea: true,
drawError: {
color: '#e1e100', // Color the shape will turn when intersects
message: '<strong>Oh snap!<strong> you can\'t draw that!' // Message that will show when intersect
}
}
},
edit: {
featureGroup: drawLayer
}
});
}
this.addDrawing = function (e) {
var type = e.layerType;
var layer = e.layer;
if (type === 'marker') { }
drawLayer.addLayer(layer);
}
Könnten Sie dies auf einer Geige setzen? –
Ich habe mich geirrt. Es funktioniert in der Broschüre 7.7, es funktioniert nicht in 1.0 beta 2 –
Sie meinen 0,7, gibt es noch keine 7,7. 1.0 ist noch heute ein Release-Kandidat. Bitte beachten Sie die detaillierte Antwort unten. – nothingisnecessary