2
我使用以下代碼在地圖上映射點:d3.js投影(albersUsa)映射錯誤
var width = 960, height = 500, centered, data;
var svg = d3.select("#chart").append("svg").attr("width", width).attr("height", height);
var projection = d3.geo.albersUsa().scale(width).translate([width/2, height/2]);
var path = d3.geo.path().projection(projection);
var states = svg.append("g")
.append("g")
.attr("id", "states")
d3.json("usstates.min.geojson", function(json) {
states.selectAll("path")
.data(json.features)
.enter().append("path")
.attr("d", path);
});
var points = svg.append("g")
.attr("id", "points");
// Bentonville, Arkansas is at 36.3728, 94.2086
bvCoords = projection([36.3724, 94.2216]);
console.log(bvCoords)
points.append("svg:circle")
.attr("cx", bvCoords[0]).attr("r", 100).attr("cy", bvCoords[1])
.style("fill", "#F00");
當我加載在Chrome,控制檯報告[114.03316181053958, -15.872634684617708]
,這將是位於Western某處加拿大海岸。如果我將.attr("transform", "translate(" + width/2 + "," + height/2 + ")")
添加到points.append
電話,它在印第安納州南部的某個地方。
我在做什麼這個預測錯了?
謝謝。我認爲他們兩個都積極的只是一個小小的扭曲,但解決了它! –