web-dev-qa-db-fra.com

TypeError: L.Control.Draw n'est pas un constructeur

Je voulais dessiner un polygone dans la carte de dépliant dans mon application ionic2, pour cela j'ai trouvé le pluggin de dessin de dépliant, mais je reçois cette erreur TypeError: L.Control.Draw n'est pas un constructeur

Mon code ressemble à ceci

this.map = L
  .map("map")
  .setView(this.latLng, 13)
  .on("click", this.onMapClicked.bind(this))

L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png")
  .addTo(this.map);

this.marker = L
  .marker(this.latLng, { draggable: true })
  .on("dragend", this.onMarkerPositionChanged.bind(this))
  .addTo(this.map);

var drawnItems = new L.FeatureGroup();
this.map.addLayer(drawnItems);
console.log(drawnItems);
var drawControl = new L.Control.Draw({

  edit: {
    featureGroup: drawnItems
  }
});
this.map.addControl(drawControl);
12
Nishant

Vous devez ajouter à la tête html CDN

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/0.4.2/leaflet.draw.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/0.4.2/leaflet.draw.js"></script>

et ajouter à la carte { drawControl: true }

var map = L.map('mapid', { drawControl: true }).setView([25, 25], 2);
11
Megapiharb

Vous pouvez obtenir la dernière version de leaflet.draw à partir de cette adresse

https://cdnjs.com/libraries/leaflet.draw

Version 1.0.4

https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.css
https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.js
2
Bashirpour