2017-11-14 3 views
0

Im mit Flugblatt, die Map-Layer und SVG-Layer haben.Aber beim Zoomen skaliert der Svg-Layer nicht mit der Größe der Kartenebene. Welche machen die svg Schicht Größe falsch, und meinen nicht svg InhaltSVG-Layer nicht rescale Breite Kartenlayer

dies ist mein Code

MapLeaflet.prototype.init = function (map) { 
    let $$ = this; 
    $$.dom = map; 
    this.map = L.map(map).setView([-6.175239, 106.827204], 13); 
    L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png').addTo($$.map); 

    this.svg = d3.select($$.map.getPanes().overlayPane).append("svg") 
    .attr('style', 'display: flex; flex: 1 1 auto; min-height: 100vh; min-width: 100vw; position: relative; flex-grow: 1') 
    .append("g").attr("class", "leaflet-zoom-hide"); 
} 

Antwort

0

i sollte nicht manualy die SVG-Ebene hinzufügen anzuzeigen. Leaflet hat ihre eigene Funktion zum Hinzufügen von svg Schicht

dies ist mein letzter Code

MapLeaflet.prototype.init = function (map) { 
    let $$ = this; 
    $$.dom = map; 
    this.map = L.map(map).setView([-6.175239, 106.827204], 13); 
    L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png').addTo($$.map); 

    var svgLayer = L.svg(); 
    svgLayer.addTo(this.map); 
    this.svg = d3.select('svg g'); 
} 
Verwandte Themen