Как рассчитать projection.scale() в D3.js для полноэкранной карты мира

Мне интересно, как рассчитать и определить правильное значение projection.scale([value]) для карты мира в полноэкранном режиме с помощью D3.js.

В документации сказано, что значение по умолчанию равно 150. Но что означает это "150"?

Я пытаюсь нарисовать карту мира точно такой же ширины экрана. Я установил в svg area значение window.innerWidth, но не уверен, какое значение я должен придать масштабу карты мира.

В некоторых случаях люди получают границы объекта, который они хотят разместить, но я не могу получить границы целых границ карты мира.

Как правильно рассчитать значение шкалы в этом случае?

width = window.innerWidth;
height = window.innerHeight;

svg = d3.select("#svgArea").append("svg")
    .attr("id", "svg")
    .attr("width", width)
    .attr("height", height);

projection = d3.geo.equirectangular()
    .scale(????)
    .translate([width / 2, height / 2])
    .precision(.1);

path = d3.geo.path().projection(projection);

d3.json("world-50m.json", function(error, world) {
    var land = topojson.feature(world, world.objects.land);
    svg.insert("path", ".graticule")
        .datum(land)
        .attr("class", "land")
        .attr("fill", "#aaaaaa")
        .attr("stroke", "#000000")
        .attr("stroke-width", "0.5px")
        .attr("d", path);
})

Заранее спасибо.

0 ответов

Другие вопросы по тегам