我正在使用 Highmaps,并通过在 xAxis 属性中设置 minRange 属性来限制缩放范围。
这会按预期限制放大系数,但是当放大太多时,它不会让您再次缩小,直到您拖动地图。更准确地说,它可以让您缩小直到 x 轴完全可见,但如果您的视口太宽而无法在此特定缩放步骤显示地图的整个 y 范围,您只会得到一个水平条纹。
$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=world-population-density.json&callback=?', function (data) {
// Initiate the chart
$('#container').highcharts('Map', {
title : {
text : 'Zoom in on country by double click'
},
mapNavigation: {
enabled: true,
enableDoubleClickZoomTo: true
},
colorAxis: {
min: 1,
max: 1000,
type: 'logarithmic'
},
xAxis: {
minRange: 5000 // <- prevent zooming in too much
},
series : [{
data : data,
mapData: Highcharts.maps['custom/world'],
joinBy: ['iso-a2', 'code'],
name: 'Population density',
states: {
hover: {
color: '#BADA55'
}
},
tooltip: {
valueSuffix: '/km²'
}
}]
});
});
});
你可以在这里看到一个工作演示:http: //jsfiddle.net/b9d0ry3t/
这是一个标准的 Highmaps 演示,我只是在 xAxis 上添加了 minRange,仅此而已。