1

我正在使用 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,仅此而已。

4

1 回答 1

1

最近的 Highmaps 更新(2015 年 2 月)修复了这个问题和许多其他问题。

于 2015-06-05T04:10:35.507 回答