Спасибо за информацию. Очень признателен!
ользую учебник, чтобы научиться создавать карты в D3.v3, но я использую D3.v4. Я просто пытаюсь заставить некоторые круги появляться на карте (см. Ниже). Кодекс работает, за исключением того, что круги находятся над Невадой и должны находиться в районе залива. Я предполагаю, что это несоответствие между проекциями карты и проецируемыми координатами. Я не уверен, в какой проекции находится карта, но я попытался заставить ее быть albersUsa (см. Закомментированные команды, где я генерирую путь), но это приводит к исчезновению всей карты. Любая помощь будет оценена!
<!DOCTYPE html>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="https://d3js.org/topojson.v2.min.js"></script>
<script>
var w = 960,
h = 600;
var projection = d3.geoAlbersUsa();
var path = d3.geoPath()
//.projection(projection)
d3.json("https://d3js.org/us-10m.v1.json", function(error, us) {
if (error) throw error;
var svg = d3.select("body").append("svg")
.attr("width", w)
.attr("height", h);
svg.selectAll("path")
.data(topojson.feature(us, us.objects.states).features)
.enter().append("path")
.attr("class", "states")
.attr("d", path);
svg.append("path")
.attr("class", "state-borders")
.attr("d", path(topojson.mesh(us, us.objects.states)))
svg.append("path")
.attr("class", "county-borders")
.attr("d", path(topojson.mesh(us, us.objects.counties)));
aa = [-122.490402, 37.786453];
bb = [-122.389809, 37.72728];
svg.selectAll("circle")
.data([aa,bb]).enter()
.append("circle")
.attr(",cx", function (d) { return projection(d)[0]; })
.attr("cy", function (d) { return projection(d)[1]; })
.attr("r", "8px")
.attr("fill", "red")
});
</script>