我試圖將WebGL地球與d3.geo.satellite投影結合起來。與THREE.js地球同步d3.js
我已經設法將2個投影疊加在一起並同步旋轉,但我在同步縮放時遇到了麻煩。當我將它們同步到匹配大小時,WebGL投影會變形,但d3.geo.satellite保持不變。我嘗試過不同的projection.scale,projection.distance的組合,但沒有取得太大的成功。
這裏是JS小提琴(花費一點時間來加載資源)。你可以拖動它來旋轉(效果很好)。但是,如果放大(使用鼠標滾輪),則可以看到問題。
https://jsfiddle.net/nxtwrld/7x7dLj4n/2/
重要的代碼爲腳本的底部 - 規模函數。
function scale(){
var scale = d3.event.scale;
var ratio = scale/scale0;
// scale projection
projection.scale(scale);
// scale Three.js earth
earth.scale.x = earth.scale.y = earth.scale.z = ratio;
}
我也遇到過這個問題,但我不使用WebGL Earth,而是使用Three.js。你有任何解決方案? –