按下放大/缩小按钮时,我一直在努力减少地图放大/缩小的数量。似乎没有变量,并且需要使用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) {}
但我还没有能够弄清楚如何使用自定义功能覆盖现有的放大/缩小按钮事件(我希望避免创建自己的按钮)。
答案 0 :(得分:4)
好问题!我在地图的导航按钮(http://api.highcharts.com/highmaps#mapNavigation.buttons)上挖掘了Highmaps API参考,并想出了如何执行此操作:
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.5
和2
,这是有意义的(放大到地图大小的50%;缩小2倍)。< / p>
我希望这些信息对您有用且有用!