2017-06-14 6 views
0

Ich versuche, die Leaflet.VectorGrid API zu verwenden, um eine GeoJSON in einer Broschüre Karte zu laden, aber egal was ich versuche ich immer diesen Fehler:Prospekt vectorGrid.slicer Fehler

Uncaught (in promise) TypeError: this._makeFeatureParts is not a function 
    at e.initialize (vectorgrid.js:1085) 
    at e (leaflet.js:5) 
    at e._createLayer (vectorgrid.js:1039) 
    at e.<anonymous> (vectorgrid.js:977) 
    at <anonymous> 

Es sieht aus wie die Quelle der Fehler ist dieser Teil des JavaScript:

_makeFeatureParts: function(t, e) { 
    var r = t.geometry[0][0]; 
    "x" in r && (this._point = L.point(r.x * e, r.y * e), 
    this._empty = L.Util.falseFn) 
} 

die Zeilen 1092 bis 1096 von source script ist.

Die GeoJSON I'm using ist eine Reihe von Punkten und arbeitet mit anderen Leaflet-Funktionen.

Dies ist der relevante Teil des Skripts ich für den Vektor Raster bin mit:

var vectorGrid = L.vectorGrid.slicer(myGeoJSON).addTo(map); 

Jede Idee, was ich fehle, basta Fehler zu erzeugen? Ich hatte gehofft, einfach eine einfache Ebene hinzufügen zu können, um zu sehen, wie es funktioniert, aber jetzt komme ich nicht über den ersten Schritt hinaus. Ich habe verschiedene GeoJSONs ausprobiert und dem Befehl mehr hinzugefügt, aber ohne Glück.

Bearbeiten: Ich war in der Lage, eine funktionierende Lösung zu erhalten, indem Sie auf die Informationen durch die Antwort unten zur Verfügung gestellt. Here's what I did to get it to work..

+1

Ich bin mit allen Arten von Punkt GeoJSON Dateien einen anderen Fehler bekommen, vielleicht ist dies hier Frage bezieht: https://github.com/Leaflet/Leaflet.VectorGrid/issues/94 Ich kann das nicht bestätigen, Build-Fehler beim Versuch, die Bibliothek zu kompilieren ... – chrki

+0

Ich hatte dieses Problem nicht gesehen, aber ich bekomme den gleichen Fehler, wenn ich ihre 'Punkte' verwende. Aus dem Lesen dieses Problems und https://github.com/haoliangyu/ngx-leaflet-starter/issues/35 und https://github.com/Leaflet/Leaflet.VectorGrid/issues/32 sieht es aus wie "vectorGrid.slicer 'unterstützt derzeit keine GeoJSON-Punkte, aber vielleicht bald? – Bird

Antwort

1

Es gab einen Fehler in der Bibliothek, um die Koordinaten von GeoJSON-Punkten zu erhalten.

Dieses Problem wurde in seinem Master-Zweig behoben, aber der Fix wurde noch nicht veröffentlicht. Wenn Sie nicht auf die Version 1.3.0 warten können, können Sie die Bibliothek direkt von GitHub aus installieren.

Siehe PR https://github.com/Leaflet/Leaflet.VectorGrid/pull/62