2012-11-12 13 views
2

我使用jVectorMap v1.1和我有這個相關的代碼:有沒有辦法使用「填充」和「筆畫」作爲區域比例尺顏色的屬性?

var america = "#d84148"; 
var europe = "#0060d0"; 
var africa = "#44984d"; 
var asia = "#e3a430"; 
var oceania = "#2ecdd0"; 

series: { 
    regions: [{ 
     values: data['colours'], 
     scale: { 
      "America" : america, 
      "Europe" : europe, 
      "Africa" : africa, 
      "Asia" : asia, 
      "Oceania" : oceania 
     }, 
     normalizeFunction: 'linear', 
     attribute: 'fill' 
    }] 
} 

我得到的矢量數據是從naturalearth.com的world_mill_en,它包含每個國家1px的分離,作爲該國的邊界。我正在構建的應用程序必須顯示整個大洲,因此不允許任何邊界。

attribute我只能設置fillstroke作爲參數,我可以在使用fill時爲邊框設置純色。

我想知道是否有可能在同一時間使用fillstroke作爲屬性。或者,如果有一種方法可以將區域的筆劃設置爲與相應區域具有相同的顏色。即。

if (stroke == "none") 
{ 
    stroke = "that region's colour" 
} 

回答

2

通過各種實例搜索後,我在我的解決方案來在此鏈接:

https://github.com/bjornd/jvectormap/blob/master/tests/markers.html

所有我需要做的是:

var america = "#d84148"; 
var europe = "#0060d0"; 
var africa = "#44984d"; 
var asia = "#e3a430"; 
var oceania = "#2ecdd0"; 

series: { 
    regions: [{ 
     values: data['colours'], 
     scale: { 
      "America" : america, 
      "Europe" : europe, 
      "Africa" : africa, 
      "Asia" : asia, 
      "Oceania" : oceania 
     }, 
     normalizeFunction: 'linear', 
     attribute: 'fill' 
    }, { 
     values: data['colours'], 
     scale: { 
      "America" : america, 
      "Europe" : europe, 
      "Africa" : africa, 
      "Asia" : asia, 
      "Oceania" : oceania 
     }, 
     normalizeFunction: 'linear', 
     attribute: 'stroke' 
    }] 
} 

原來是這樣,問題解決了。複製區域數組中的整個區域,包括大括號,將填充更改爲中風。

相關問題