2016-05-18 19 views
2

ズームイン/アウトボタンを押したときにマップがズームイン/ズームアウトする量を減らそうとしていました。これは変数がないと思われ、カスタム関数が必要です。http://api.highcharts.com/highmaps#Chart.mapZoomハイマップのズームレベルを変更します

ズームイン/アウトボタンのデフォルトイベントをカスタム値でオーバーライドして、カスタム値を使用しますmapZoom 'howMuch'パラメータの場合これは私がアクションでmapZoom機能を見つけることができた唯一の例である - http://jsfiddle.net/z8X6B/1/

Highcharts.Chart.prototype.mapZoom = function (howMuch, centerXArg, centerYArg, mouseX, mouseY) {} 

しかし、私は既存のズームを上書きする方法を見つけ出すことができていないカスタムと/アウトボタンイベントで(自分のボタンを作るのを避けたい)。

答えて

3

大きな質問!私は、マップのナビゲーションボタン上のHighmaps APIリファレンス(http://api.highcharts.com/highmaps#mapNavigation.buttons)を介して掘ってこれを行う方法を考え出し:

mapNavigation: { 
    buttons: { 
     zoomIn: { 
      // the lower the value, the greater the zoom in 
      onclick: function() { this.mapZoom(0.1); } 
     }, 
     zoomOut: { 
      // the higher the value, the greater the zoom out 
      onclick: function() { this.mapZoom(10); } 
     } 
    } 
}, 

ここHighmapsデモのいずれかに基づいてアクティブフィドルだ:http://jsfiddle.net/brightmatrix/d51g1jt2/

私のテストから、 mapZoom()のあなたの価値のように見えます。ズームインした後にズームしたままにしておきたいマップの割合(この例では、合計マップのわずか10%を見たい場合)です。値が1以上のものは動作しないようです。

ズームアウトの場合、mapZoom()の値は乗数のようです。この場合、マップの値の10%にズームしたので、ズームアウトはその値の10倍になります。

ズームインとズームアウトのデフォルト値はそれぞれ0.52です(マップのサイズの50%に拡大、2倍に縮小)。

この情報がお役に立てば幸いです。

+1

優秀!これは想像以上に簡単です。提案された値はズームレベルを上げます。小さなインクリメントの場合は、次のようにうまくいきます。zoomIn:this.mapZoom(0.8); zoomOut:this.mapZoom(1.25); – Fred

+0

私はあなたのためにうまくいってうれしいです! 'mapZoom'のために提案されたパラメータをありがとう。 –

関連する問題