2017-12-06 13 views
0

Ich habe ein Problem mit meiner Karte. Ich bin zu Merkblatt 1.2 gewechselt und eine der Funktionen funktioniert nicht richtig. Der Code ist hier:Broschüre Choropleth Map - wechseln zu Broschüre 1.2

http://mapaszlakow.eu/mapa1.2.html

Wenn ein Overlay zu aktivieren, die über js und Klicken auf eine Fahrrad-Route GeoJSON ist es in einer Route zoomt aber es nicht markiert ist und das Infofenster nach oben zeigt nicht. Hier ist genau das gleiche Beispiel, das funktioniert, aber auf der älteren Version von Leaflet (ich denke, es ist 0,7).

http://mapaszlakow.eu/

Ich kann nicht das Problem finden, das einzige, was ich tat, schaltet 1.2 Zettel, werde ich für die Hilfe dankbar sein.

EDIT: Ich glaube, das Problem ist irgendwo hier:

function select(layer) { 
    info.update(layer.feature.properties); 
    if (selected !== null) { 
     var previous = selected; 
    } 
    map.fitBounds(layer.getBounds()); 
    selected = layer; 
    if (previous) { 
     dehighlight(previous); 
    } 
    } 

    var selected = null; 
+0

Ich habe meine Antwort nach dir bearbeitet r Kommentar Bitte überprüfen Sie es, wenn es hilfreich ist bitte markieren Sie die Antwort als akzeptiert ..;) – d324223

Antwort

0

ich Ihren Code aus http://mapaszlakow.eu/mapa1.2.html getestet haben und es funktioniert fast in Ordnung - auf schweben hebt es Route korrekt, auf klicken, um es zu routen Ausmaß zoomt - außer dass die Popup-Informationen angezeigt werden. Um dies zu beheben bitte die Geige überprüfen ich aus dem Code gemacht:

http://jsfiddle.net/5z17y5oL/18/(diese Geige muss über http zugegriffen werden, da der Server dienen die Daten nicht mit https)

Der wesentliche Unterschied ist, dass ich Parameter an info.update(e.feature.properties); Vorkommnisse übergeben.


EDIT

Meine editierten Geige ist hier: http://jsfiddle.net/5z17y5oL/25/

Also zog ich die info.update(e.feature.properties); von Schicht Klick Hörer aufgerufen werden. Auf der Karte wurde der angeklickte Layerstil zurückgesetzt und die Info wird gelöscht, da sie null empfängt.

..... 
onEachFeature: function(feature, layer) { 
    layer.on({ 
     ..... 
     'click': function(e) { 
     select(e.target); 
     info.update(e.feature.properties); 
     } 
    }); 
    map.on({ 
     'click': function(e) { 
     bicyclegeojson.resetStyle(layer); 
     info.update(null); 
     selected = null; 
     } 
    }); 
.... 

// Ende der EDIT


Eine weitere Sache - Sie kleine Fehler haben, sollten Sie diese Zeile:

map.addControl(layerControl).addTo(map); 

zu

map.addControl(layerControl); 
+0

Fantastische Arbeit, aber eine Sache funktioniert nicht :) Wenn Sie auf Route klicken und es ist markiert und klicken Sie dann auf die Karte sollte es enthighlight. – Voyteck