2014-03-03 63 views
1

這是我的問題,我有不同國家的顏色比例。當我選擇一個國家時,它的顏色會發生變化,我不想。jvectormap如何在選擇區域時保持當前顏色?

我只想使用筆畫屬性(不帶填充屬性)來顯示選定的區域。

問題是填充的默認顏色是「黃色」。我嘗試將選定區域的填充屬性設置爲「無」,但在選定時刪除當前顏色。

你們有辦法解決這個問題嗎?

 $('#worldMap').vectorMap({ 
     map: 'world_mill_en', 
     series: { 
      regions: [{ 
       scale: ['#C1E712', '#5F7209'], 
       values: countryHitCounts, 
      }] 
     }, 
     regionStyle: { 
      selected: { 
       fill: <= is there a keyword to not change the color when selected?? 
       stroke: 'red', 
       "stroke-width": 1, 
      }, 
     }, 
     regionsSelectable: true, 
     selectedRegions: countrySelected, 
     onRegionSelected: function (event, code, isSelected, selectedRegions) { 
       //some code... 
     }, 
    }); 

編輯:在minify js代碼源文件中,我更改了所選區域的默認樣式。 已選擇:{fill:「yellow」} by 已選擇:{} 它可以工作,但如果您有更好的解決方案而無需更改源文件,我會採用它。

回答

1

我也遇到了同樣的問題,似乎對我來說似乎是用無效的十六進制代碼覆蓋選定的填充。例如:

regionStyle: { 
      selected: { 
       fill: '#Z34FF9' 
      } 
     }, 

這似乎註冊爲重寫,但實際上並沒有應用它,留下了我原來的顏色。

0

您探微必須防止點擊的默認操作:

, 
onRegionClick: function(event, code){ 
    event.preventDefault(); 
    // your "some code" of region selected 
} 
0

南宮衛的回答並沒有爲我工作,但我可以覆蓋類的默認值剛剛創建地圖前。無需修改源代碼!

jvm.Map.defaultParams.regionStyle.selected = {}; 
map = new jvm.Map({ 
    map: 'world_mill', 
    container: jQuery('#world-map'), 
    regionStyle: { 
     initial: { 
      fill: "#F6F6F6", 
     }, 
     selected: { 
     stroke: '#FF00FF', 
     "stroke-width": 0.5, 
     } 
    }, 
} 
相關問題