Я пытаюсь сделать мою карту отзывчивой, поэтому она будет изменена в соответствии с размером окна браузера. Это то, что я до сих пор,Как создать отзывчивую карту с помощью d3
style.css
#mapbox {
border:2px solid #000;
width:960px;
height:550px;
background:#FFFFFF;
}
viz.js
var margin = {top: 10, left: 10, bottom: 10, right: 10},
width = parseInt(d3.select('#mapbox').style('width')),
width = width - margin.left - margin.right,
mapRatio = .5,
height = width * mapRatio;
.
.
d3.select(window).on('resize', resize);
.
.
function resize(){
width = parseInt(d3.select('#mapbox').style('width'));
width = width - margin.left - margin.right;
height = width * mapRatio;
projection.translate([width/2, height/2])
.scale(width);
svg.style('width', width + 'px')
.style('height', height + 'px');
}
При изменении размера окна, его все еще сохраняя ту же ширину и высоту для моего контейнера SVG , Я думаю, это потому, что в функции изменения размера я получаю ширину и высоту от CSS, который будет таким же, независимо от того, изменяю ли я размер окна прямо?
Я застрял здесь, я пропустил что-нибудь очевидное? было бы здорово, если бы у вас были какие-то указатели для меня, чтобы это работало.
Я довольно много следующий следующая example,
Вы видели [этот вопрос] (http://stackoverflow.com/questions/9400615/whats-the-best-way-to-make-a-d3-js-vi sualisation-макет реагирующий)? –