1

これは、this one (ggplot2 で回答済み)、this one (R で回答済み) と同様の質問であり、this one (まだ回答を探している)のフォローアップの質問です。

Mike Bostock ( http://bl.ocks.org/mbostock/4987520 )によるこの最近の Constrained Zoom プロットを使用するにはどうすればよいでしょうか?しかし、アフリカではなく中央の太平洋で開始位置を設定するにはどうすればよいでしょうか?

このような... ここに画像の説明を入力

明らか.translate([0, 0])に、コード内の値を調整するだけでマップが移動しますが、マップを上記のように表示できるようにする「ラッピング」はありません。

これを達成するための簡単な方法があるに違いないと確信しています。これは基本的な機能のように思えますが、解決策を見たり見つけたりすることはできません。

4

1 に答える 1

1

OK、答えは最終的にかなり明白でした.投稿が私を正しい道に導いてくれたHashbangの人たちに感謝します.

.translate()私が抱えていた問題は、関数を使用してマップを正しい場所に移動する必要があると想定していましたが、実際には.translate()関数は返されたマップ上のポイントを移動するだけです。言い換えれば、文字通り、あなたが持っているものを別の場所に翻訳します (当たり前!)。

私がすべきだったのは、関数を使用して、.rotate関数を使用して経度を中心にマップを回転させることです。

var projection = d3.geo.mercator()
    .translate([0, 0])
    .scale(width)
    .rotate([-180,0]);

これにより、マップがラップされ、必要に応じて完全に制御できるようになります。完全に機能する例はこちらです。

于 2013-02-26T08:24:48.933 に答える