zoom.scaleExtent - ズームの許容範囲を指定する
投稿日: / 更新日:
d3.jsのzoom.scaleExtent
は、ズーム操作で許容する、scaleの最小値と最大値を指定するメソッドです。ここで指定した数値を超えたズーム値にならなくなります。値は、第1要素に最小値、第2要素に最大値を含む配列リテラルで、初期値は[0,Infinity]
です。また、引数を指定しない場合は現在の設定を取得します。
サンプルコード
<img src="/image.png">
// ズーム操作のインスタンスを作成
var zoom = d3.behavior.zoom() ;
// ズーム操作に対応するイベントリスナーを指定する
zoom.on( "zoom", function() {
// 処理内容
} ) ;
// img要素に対して、call()メソッドでズーム操作を適用
d3.select( "img" ).call( zoom ) ;
// scaleExtentの値の許容範囲を設定 ( 1=等倍〜10=10倍まで )
zoom.scaleExtent( [ 1, 10 ] ) ;
// scaleExtentの値を取得 (引数なし)
var scaleExtent = zoom.scaleExtent() ;
デモ
下のボタンを押すと、zoom.scaleExtent
を使って、scaleの値の許容範囲(最小値、最大値)を設定します。
構文
scaleExtent || instance = zoom.scaleExtent( [ scaleExtent ] )
引数
項目 | 説明 |
---|---|
scaleExtent | 省略可。省略した場合は値の変更ではなく、値の取得となる。引数に、第1要素に最小値、第2要素に最大値を含んだ配列リテラルを指定することで、ズーム操作のscale値の許容範囲を設定することができる。初期値は[0,Infinity] が設定されている。 |
戻り値
項目 | 説明 |
---|---|
scaleExtent | 引数を指定しなかった場合、scaleExtentの値(配列)が戻り値となる。 |
instance | 引数を指定して、scaleExtentに変更を加えた場合、ズーム操作のインスタンスが戻り値となる。 |