Я следую за Бостоком map tutorial с моим собственным data. Я понимаю, что проекция - это функция, которая принимает трехмерную координату lat/long и возвращает координату 2D x/y. Я также понимаю, что d3.geo.path обрабатывает беспорядочную работу с GeoJSON и преобразовывает ее в SVG. Я получаю, как вы передаете функцию проекции в качестве параметра d3.geo.path, чтобы рассказать ему, как проектировать 3D lat/long, описанный GeoJSON, в 2D SVG. Все идет нормально.Имея проблемы с масштабированием моей карты d3
Тем не менее, у меня много проблем с «увеличением масштаба» на моей карте с моей проекцией. Карта центрируется на соответствующей широте и долготе, используя свойство центра проекции. Я использую свойство translate для преобразования точки в центр элемента SVG. Однако, независимо от того, сколько я использую для масштабирования, карта никогда не становится больше или меньше. Я проверил ошибки в кости: я правильно сохраняю изменения, и они правильно обрабатываются. Ошибка связана с тем, как я использую масштаб.
Как увеличить?
window.onload = function() {
//Width and height
var width = 960,
height = 1160;
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
//setting scale to numbers as high as 30000 and as low as 3 does not change my map
var projection = d3.geo.transverseMercator().translate([width/2, height/2]).scale(3).center(-90.088, 29.957);
var path = d3.geo.path(projection);
d3.json("orleans.json", function(json) {
svg.selectAll("path")
.data(json.features)
.enter()
.append("path")
.attr("d", path);
});
};