2015-06-12 24 views
1

我正在使用d3.js將視覺元素添加到單張地圖上。d3 SVG在平移單張地圖時被切斷

d3會在地圖上顯示。但是,當我放大地圖,然後平移SVG被切斷的地圖。

我的SVG的寬度和高度設置爲窗口的寬度和高度,像這樣:

svg.attr("width", window.innerWidth); 
svg.attr("height", window.innerHeight); 

當我在地圖周圍平移時,SVG停留在相同的位置是在本來。

這是解決問題的codepen鏈接:

要重新創建這個問題,放大地圖,然後平移地圖。

CODEPEN LINK

我在這裏缺少一些基本的東西?

回答

0

如果你想SVG的圈子,然後像做codepen link here

// Map details 
L.mapbox.accessToken = 'pk.eyJ1Ijoic3RlbmluamEiLCJhIjoiSjg5eTMtcyJ9.g_O2emQF6X9RV69ibEsaIw'; 
var map = L.mapbox.map('map', 'mapbox.streets') 
    .setView([53.3942 , -2.9785], 16); 

// Sample Data 
var data = [ 
    { "coords" : [ 53.3942 , -2.9785 ]}, 
    { "coords" : [ 53.4082 , -2.9837 ]} 
]; 

// Loop through data and create d.LatLng 
data.forEach(function(d) { 
    map.addLayer(L.circle([d.coords[0], d.coords[1]], 200)); 

}); 

可以放大平移和圓圈永遠不會削減。