Я пытаюсь построить некоторые точки широты и долготы с помощью предварительно спроецированного топойсона, используя d3.
Вот как я создал свой предварительно спроецированный топойсон
geoproject "d3.geoMercator().fitSize([960, 500], d)" < india.json > source.json
geo2topo -q 1e5 source.json > source.topojson
С помощью вышеупомянутогоtopojson Я могу отлично нарисовать карту, но я не уверен, как разместить на карте точку с длинной широтой.
Вот мой код.
var india = topojson.feature(indTopo, indTopo.objects.source);
var proxyProjection = d3.geoIdentity()
.fitExtent([[0, 0], [width, height]], india);
var path = d3.geoPath().projection(proxyProjection);
svg.append("g")
.attr("class", "states")
.selectAll("path")
.data(india.features)
.enter().append("path")
.attr("fill", "gray")
.attr("d", path);
svg.append("circle")
.attr("r", 5)
.attr("cx", point[0])
.attr("cy", point[1]);
//for lat-long to xy
var mercator = d3.geoMercator()
.fitSize([width,height], india);
var point = mercator([80.2707, 13.0827]);
Но этоне работает, как ожидалось.