Как разместить широту и долготу с нулевой проекцией в d3? - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь построить некоторые точки широты и долготы с помощью предварительно спроецированного топойсона, используя 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]);

Но этоне работает, как ожидалось.

...