0
Leaflet.jsを初めて使用しています。リーフレットとD3を使用してOSMにレイヤーを追加しようとしています。私は1つのドットを見ることができますが、他のドットが地図を表示しているかどうかを調べるためにズームアウトすると、正しく再描画されず、「TypeError:t is undefined」というメッセージも表示されます。ここでleaflet.jsの「viewreset」マップが正しくズームアウトされない問題
は、私のコードの大部分である:
/* We simply pick up the SVG from the map object */
var svg = d3.select("#map").select("svg"),
g = svg.append("g");
d3.tsv("DH_Doig.tsv", function(data) {
/* Add a LatLng object to each item in the dataset */
data.forEach(function(d) {
if (d.SoundLat && d.SoundLong) {
d.SoundLat = +d.SoundLat;
d.SoundLong = +d.SoundLong;
d.SoundLatLong = new L.LatLng(d.SoundLat, d.SoundLong);
//d.LatLng = new L.LatLng(d.circle.coordinates[0],
//d.circle.coordinates[1])
//console.log(d.SoundLatLong)
}
//console.log(d.SoundLatLong)。 })
var feature = g.selectAll("circle")
.data(data)
.enter().append("circle")
.style("stroke", "black")
.style("opacity", .6)
.style("fill", "red")
.attr("r", 20);
map.on("viewreset", update);
update();
function update() {
feature.attr("transform",
function(d) {
console.log(d.SoundLatLong); //added to see lat long
return "translate("+
map.latLngToLayerPoint(d.SoundLatLong).x +","+
map.latLngToLayerPoint(d.SoundLatLong).y +")";
}
)
}
})
TypeError例外メッセージは、この行を参照されました:
map.latLngToLayerPoint(d.SoundLatLong).x +","+
私は基礎としてこの例を使用しています:ここでMap using leaflet.js and d3 combined.
は私のplunkですコード。
'leaflet.js'の代わりに' leaflet-src.js'を使用すると、より意味のあるエラースタックトレースが得られます。 – IvanSanchez
ありがとう、私はleaflet-src.jsに切り替えました。 "TypeError:latlng is undefined"というメッセージが表示されます。 console.log(d.SoundLatLong)を追加しました。 (上記のコードを参照)、long longオブジェクトが正しく作成されていますが、console.log(d.SoundLatLong)に関連する「未定義」メッセージが表示されています。ライン。 – mutanthumb