2016-10-11 7 views
0

Ich möchte den Stil meiner Ebene in einem bestimmten Zoom ändern (Kreis zu Symbol). Wenn ich Zoom 5 überkreuze, habe ich gedacht, ich könnte meine vorherige Ebene entfernen und dann eine neue mit der alten Quelle erstellen. Eigentlich gibt es mir einen Fehler.Teilen Sie die gleiche Quelle zwischen den Ebenen

Wenn ich eine neue Quelle mit den gleichen Daten erstellen, funktioniert alles einwandfrei, der Fehler betrifft die Quelle. Was ich nicht verstehe ist, dass die Quelle noch vorhanden ist, da ich mit ihr interagieren kann.

Bitte meine fiddle, öffnen Sie die Konsole finden, um zu sehen:

  • den Zoom (warten Zoom 5)
  • die von der Quelle enthaltenen Daten
  • der Fehler

    glMap.addSource('yacht', { 
        type: 'geojson', 
        data: data, 
        buffer: 256 
    }); 
    glMap.addLayer({ 
        "id": "yachtL", 
        "type": "circle", 
        "interactive": true, 
        //'style': '/bright-v8.json', 
        "source": "yacht", 
        'layout': {}, 
        'paint': { 
         'circle-color': '#262626', 
         'circle-opacity': 0.8 
        } 
    }/*, "cargoL"*/); 
    
        removeSpinner(); 
    

Antwort

2

Geben Sie der neuen Ebene eine neue ID, dann wird es funktionieren. Momentan haben beide die ID von 'yachtL'.

+0

Nun, du hast Recht ... Ich verstehe nicht warum, weil ich die vorherige Ebene mit der gleichen ID 'yachtL' lösche. Könntest du erklären? Die Sache ist, ich möchte nicht die Interaktionen verlieren, die ich mit meiner Schicht habe (d. H.: Meine Funktionen rufen yachtL, egal, was Zoom ist, ich möchte nicht meine Funktionen für jede Schicht duplizieren). In meiner App für dieses Problem, wenn ich die Quelle entfernen und dann neu (mit der gleichen ID) ich kann yachtL als Layer-ID verwenden. Ich denke, ich werde diese Problemumgehung beibehalten, anstatt die ID meiner Ebene zu ändern. – So4ne

+1

Ich bin neu bei mapbox gl, also nicht sicher, ob ich wirklich alle Funktionen verstehe. Ich habe es wirklich schwer gefunden herauszufinden, wie man den Stil eines einzelnen Features in einer Ebene ändert, aber trotzdem froh, dass das hilft. – malcolm

Verwandte Themen