Im der folgenden Städten UK Geo JSON mit einer UK SVG Karte http://martinjc.github.io/UK-GeoJSON/json/eng/topo_eer.jsontopojson/D3/Karte mit Länge + Breite
Auf dieser Karte ich in der Lage sein will, machen Länge + Breite Punkte zu nehmen und zeichnen Sie auf die Karte .
Ich füge einen GeometryCollection Ort der Karte in der folgenden Art und Weise:
data.objects.places = {
type: "GeometryCollection",
geometries: [
{
type: "Point",
coordinates: [-0.127758, 51.507351], // London
properties: {
name: "London - Testing"
}
}
]
};
jedoch die Koordinaten nicht an der richtigen Stelle sind.
Unten ist das vollständige Javascript.
var width = 960;
var height = 1000;
var projection = d3.geo.albers()
.center([0, 55.4])
.rotate([4.4, 0])
.parallels([50, 60])
.scale(4000)
.translate([width/2, height/2]);
var path = d3.geo.path().projection(projection);
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
d3.json("topo_eer.json", function(error, data) {
// Create path for the UK
svg.selectAll(".subunit")
.data(topojson.feature(data, data.objects.eer).features)
.enter().append("path")
.attr("class", function(d) { return "subunit " + d.id; })
.attr("d", path);
// Path around regions
svg.append("path")
.datum(topojson.mesh(data, data.objects.eer, function(a, b) { return a !== b; }))
.attr("d", path)
.attr("class", "subunit-boundary");
// Add places to our data
data.objects.places = {
type: "GeometryCollection",
geometries: [
{
type: "Point",
coordinates: [-0.127758, 51.507351], // London
properties: {
name: "London - Testing"
}
}
]
};
// try plotting a point
svg.append("path")
.datum(topojson.feature(data, data.objects.places))
.attr("d", path)
.attr("class", "place-online");
console.log(data);
});
Danke für die schnelle Antwort :) –
Ive diese die gleichen Koordinaten wie Sie in und im setzen jedoch immer seine nicht in der richtigen Position auf der Karte basiert. –
Haben Sie '[7688.309645789168, 2762.1059840278253]' für London versucht? –