Я использую это как справку: https://bl.ocks.org/iamkevinv/0a24e9126cd2fa6b283c6f2d774b69a2
Скорректирован некоторый синтаксис, чтобы соответствовать версии 5
Масштаб работает, Translate выглядит так же, как и он, потому что если я изменяю значение, он увеличиваетв другом месте ..
Но проблема в том, что он не увеличивает правильное место, которое я нажал.
Я думаю, что это не доходит до места правильно, потому что я использую d3.geoMercator().fitSize([width, height], geoJSONFeatures)
вместо этого:
var bounds = path.bounds(d),
dx = bounds[1][0] - bounds[0][0],
dy = bounds[1][1] - bounds[0][1],
x = (bounds[0][0] + bounds[1][0]) / 2,
y = (bounds[0][1] + bounds[1][1]) / 2,
scale = Math.max(1, Math.min(8, 0.9 / Math.max(dx / width, dy / height))),
translate = [width / 2 - scale * x, height / 2 - scale * y];
Уже пытался изменить значения, чтобы они соответствовали моим, но не получилось, я не могу его получить.
Вот мой прогноз:
var width = 500;
var height = 600;
d3.json("/regions50mtopo.json")
.then((geoJSON) => {
var geoJSONFeatures = topojson.feature(geoJSON, geoJSON.objects["Regions.50m"]);
// My Projection
var projection = d3.geoMercator().fitSize([width, height], geoJSONFeatures);
...
Любая помощь, руководство или ссылка?
Примечание: я картирую другую страну, и fitSize (...) решает проблему, чтобы легко поместиться в моем svg, поэтому я не могу использовать то же самое, что ив ссылочной ссылке я предоставил.