Merkblatt .addLayer() nicht in Funktion, funktioniert auf der Konsole

Ich denke, das bedeutet, ich bin fehlt etwas grundlegendes über die Arbeit von verschachtelten Funktionen in javascript, aber ich versage hinzufügen oder entfernen einer Ebene aus einer leaflet-Karte über eine Klick-Funktion. Speziell, ich habe ein Faltblatt Karte mit zahlreichen Vektor-Ebenen definiert. Eine dieser Schichten ist Hinzugefügt, um die Karte beim laden der Seite, und dann die folgenden Schichten werden soll, um die Belastung auf ein click-Ereignis in einem layer-selector.

Hier ist die Funktion, dass die Griffe klicken, dann aktualisiert die sidebar Legende, updates Klassen in der layer-Auswahl und soll update der sichtbaren Ebene:

//ADD THE LAYER CONTROL FUNCTION
$('.layer').click(function() {
  var oldLayer = $('.active').attr('id');
  var newLayer = $(this).attr('id');
  console.log(oldLayer + ' --> ' + newLayer);
  $('#infobits').html('<h2>' + this.text + '</h2><hr>' + legendFormatter(
    this.id));
  map.removeLayer(oldLayer);
  $('.layer').removeClass('active');
  $(this).addClass('active');
  map.addLayer(newLayer);
});

Jedes mal, wenn ich Sie auf eine neue Ebene bekomme ich Uncaught TypeError: undefined is not a function, egal wo ich die Funktion (ich hatte es sogar innerhalb der .getJSON () - Aufruf für ein bit). Was ist verwirrend ist, dass ist ich gehe in die JS-Konsole in meinem browser und geben Sie verbatim, was die Funktion ist, die auf der Linie 49 der oben genannten Skript (map.removeLayer(Percent_TC_bg)), wird die Karte entfernt die Ebene in Frage stellen.

Was kann ich tun, um meine Karte hinzufügen und entfernen von Schichten ohne Fehler?

  • Uncaught TypeError: undefined ist nicht eine Funktion bedeutet, dass der moment, die Zeile ausgeführt wird, in code, Karte ist undefined/null. Debuggen und überprüfen.
  • map ist komplett verfügbar in der Funktion. Protokollierung console.log(map.getCenter()); eine Zeile vor map.removeLayer(oldLayer) produziert die erwarteten Koordinaten. Völlig überfragt.
  • Ist die Karte irgendwo Leben?
  • Ich legte es auf hier.
InformationsquelleAutor Bill Morris | 2014-08-04
Schreibe einen Kommentar