2017-11-14 33 views
0

リーフレットを使用して、マップレイヤーとsvgレイヤーを使用していますが、ズームインすると、svgレイヤーはマップレイヤーのサイズでスケールされません。これはSVG層のサイズが間違って作る、と私はSVGてmanualy層を追加してはいけません、これは私のコードSVGレイヤーの幅を変更しないでください。

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"); 
} 

答えて

0

である私のSVGコンテンツ

表示されません。リーフレットは、これは私の最終的なコードであるSVG層

を追加するための独自の機能を持ってい

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'); 
} 
関連する問題