2013-04-03 5 views
5

अतः,शैली अलग-अलग क्षेत्रों jvectormap में

मैं jVectorMap एक कस्टम मिल गया है और मैं jVectorMap एपीआई से इस कोड का उपयोग क्षेत्रों का रंग बदलने में सफल रहा है:

regionStyle: { 
     initial: { 
     fill: '#5e7073', 
     "fill-opacity": 1, 
     stroke: 'none', 
     "stroke-width": 0, 
     "stroke-opacity": 1 
     }, 
     hover: { 
     fill: 'black' 
     }, 

लेकिन मैं मैं मानचित्र के प्रत्येक क्षेत्र व्यक्तिगत रूप से के लिए भरने/होवर गुणों को नियंत्रित करने की कोशिश कर रहा हूं। क्या किसी ने ऐसा किया है या इसे प्राप्त करने का विचार प्राप्त किया है? मैंने jVectorMap एपीआई को देखा है लेकिन इसका कोई फायदा नहीं हुआ है।

मार्का

उत्तर

13

सबसे पहले, आप क्षेत्रों आप बदल रहे हैं के लिए कोड पता करने की जरूरत। आप इन मानचित्र फ़ाइल से प्राप्त कर रहे हैं जो आप उपयोग कर रहे हैं। नीचे दिया गया उदाहरण यूएसए मानचित्र के लिए है।

regionStyle: { 
    //... 
}, 
series: { 
    regions: [{ 
     values: { 
      'US-CA': '#3e9d01', 
      'US-WA': '#4b93c1', 
      'US-TX': '#c1a14b' 
     }, 
     attribute: 'fill' 
    }] 
} 

या आप मक्खी पर उन्हें अनुकूलित सकता है (और "मूल्यों" पैरामीटर ऊपर आवश्यक नहीं होगा):

भरने को बदलने के लिए, आप जब आप नक्शा बनाने क्षेत्रों को अनुकूलित कर सकता

$(function(){ 
    var map = $('#map').vectorMap('get', 'mapObject'); 
    map.series.regions[0].setValues({ 
     'US-CA': '#3e9d01' 
    }); 
}); 
+1

यह ध्यान रखना महत्वपूर्ण है कि यदि आप 'स्केल' का उपयोग कर रहे हैं तो आपको स्केल मानों का उपयोग करके वॉल्यूम सेट करने की आवश्यकता है।तो अगर यह मेरा श्रृंखला, श्रृंखला है: { \t \t \t \t क्षेत्रों: [{ \t \t \t \t \t पैमाने: { \t \t \t \t \t लाल: '# ff0000', \t \t \t \t \t ब्लू: ' # 0000ff ', \t \t \t \t \t स्विंग:' # 00ff00 ' \t \t \t \t \t}, \t \t \t \t \t विशेषता: 'भरने', \t \t \t \t \t मूल्यों: { \t \t \t \t \t}, \t \t \t \t \t कथा: { \t \t \t \t \t क्षैतिज: सच है, \t \t \t \t \t शीर्षक: 'राजनीतिक संरेखण' \t \t \t \t \t} \t \t \t \t}] \t \t \t}, तो आप कहते हैं, वर myCustomColors = { \t \t \t ' यूएस-सीए ':' स्विंग ', \t \t \t' यूएस-टेक्स ':' स्विंग ', \t \t \t 'अमेरिका-FL': 'स्विंग' \t \t} ;, और फिर ... \t \t \t map.series.regions [0] .setValues ​​(myCustomColors); –

1

मैं jQuery-jvectormap-1.1.1.js में एक कस्टम विधि डाल

जांच http://pastebin.com/MSt94XuH

में सभी स्क्रिप्ट

map = $("#world-map-gdp").vectorMap('get', 'mapObject'); 

और प्रत्येक देश के लिए एक कस्टम शैली सेट करें:

map.setSelectedRegionStyle('IT', '#b2c9cb'); 
map.setSelectedRegionStyle('AT', '#b2c9cb'); 
map.setSelectedRegionStyle('BE', '#b2c9cb'); 

आप स्पष्ट की जरूरत है सभी शैलियों का उपयोग करें:

map.clearSelectedRegions(); 
setSelectedRegionStyle : function (r,c) { 
return this.regions[r].element.style.selected.fill = c; 
}, 

आप मानचित्र के संदर्भ में प्राप्त की जरूरत है

संबंधित मुद्दे