d3.geo.Pfad() zum zeichnen von mehreren Routen auf einer Karte

Gegeben ein array von Flugzeugen mit einem Wegpunkte-Eigenschaft, die eine Zeichenfolge von breiten-und Längengrade getrennt durch Leerzeichen, ist dies der effizienteste Ansatz zum zeichnen der Routen auf einer Karte in D3. Gibt es eine weitere D3-artige Ansatz, der vergeht, den Flugzeug-array als argument Daten und d(Wegpunkte) zu einer d3.geo.Pfad () - generator ähnlich wie ein d3.svg.Zeile () - generator.

var width = 500,
    height = 500;

var svg = d3.select("body").append("svg")
    .attr("width", width)
    .attr("height", height);

var projection = d3.geo.mercator()
    .translate([width / 2, height / 2]);

var path = d3.geo.path()
    .projection(projection);

draw();

function draw(){    
    for (var i = 0; i < aircraft.length; i++){
        svg.append("path")
            .datum(parse(aircraft[i].waypoints))
            .attr("class", "route")
            .attr("d", path);   
    }
}

function parse(waypoints){
    var route;
    var positions = [];
    var points = waypoints.split(" ");
    for (var i = 0; i < points.length - 1; i = i + 2) {
        positions.push([parseFloat(points[i + 1]), parseFloat(points[i])]);
    }
    route = {
        type: "LineString",
        coordinates: positions
    }
    return route;
}
  • kann man nach einer Probe von Ihren Daten (oder dummy-Daten in der gleichen Struktur)?
InformationsquelleAutor K P | 2013-08-13
Schreibe einen Kommentar