2015-02-09 97 views
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演示,在這裏我只是簡單地添加了minRange在X軸,沒有別的。

+0

我只能放大兩次('[+]'按鈕)。然後使用'[ - ]'按鈕工作得很好。你能提供詳細的描述嗎?像步驟一樣,或類似的東西。 – 2015-02-10 11:27:57

+0

要查看問題,首先必須拖動窗口,以便地圖容器比地圖本身更寬,並且在地圖的左側和右側有空白區域。然後,使用鼠標滾輪放大鼠標,直至無法進一步放大。如果現在放大,當地圖x範圍填滿窗口時,縮放將停止,但您可能希望地圖進一步縮小到原來的位置。拖動地圖後,可以縮小到原始位置再次。 – christoph 2015-02-12 11:56:29

+0

老實說,我無法複製,也許瀏覽器有限的問題?無論如何,這聽起來像是lib的問題,你是否直接與支持(電子郵件)聯繫? – 2015-02-16 10:55:19

回答

1

在最新的Highmaps更新(2015年2月)中,已解決了此問題和其他許多問題。