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に変更を加えた場合、ズーム操作のインスタンスが戻り値となる。