2013-04-03 12 views
5

SO,Stil Bireysel Bölgeler jvectormap içinde

Ben jVectorMap özel bir var ve jVectorMap API bu kodu kullanarak bölgelerin rengini değiştirerek başardın:

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

Ama Haritanın her bir bölgesi için tek tek dolum/vurgulu özelliklerini kontrol etmeye çalışıyorum. Bunu yapan veya bunu nasıl başaracağına dair bir fikri olan var mı? JVectorMap API'sine baktım ama boşuna.

Marca

cevap

13

Öncelikle, değiştiriyorsun bölgeler için kodları bilmemiz gerekir. Bunları kullandığınız harita dosyasından alırsınız. Aşağıdaki örnek ABD haritası içindir.

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

Yoksa anında bunları özelleştirmek olabilir (ve yukarıdaki "değerler" parametresi gerekli olmaz): haritayı oluştururken

dolguyu değiştirmek için, diğer bölge özelleştirebilirsiniz

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

'Ölçek' kullanıyorsanız, ölçek değerlerini kullanarak Değerleri ayarlamanız gerektiğini unutmayın.Yani bu benim dizi, dizi ise: { \t \t \t \t bölgeler: [{ \t \t \t \t \t ölçek: { \t \t \t \t \t Kırmızı: '# ff0000', \t \t \t \t \t Mavi: ' # 0000ff ', \t \t \t \t \t Swing:' # 00ff00 ' \t \t \t \t \t} \t \t \t \t \t özelliği: 'doldurma', \t \t \t \t \t değerleri: { \t \t \t \t \t} \t \t \t \t \t gösterge: { \t \t \t \tYatay: true, \t \t \t \t \t title: 'Siyasi Hizalama' \t \t \t \t \t} \t \t \t \t}] \t \t \t}, o zaman demek, var myCustomColors = { \t \t \t ' US-CA ':' Salındırma ', \t \t \t' US-TX ':' Salıncak ', \t \t \t 'ABD-FL': o 'Salıncak' \t \t} ;, ve ... \t \t \t map.series.regions [0] .setValues ​​(myCustomColors); –

1

jQuery-jvectormap-1.1.1.js özel bir yöntemi koymak

onay http://pastebin.com/MSt94XuH

tüm komut

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

Ve her ülke için özel bir stil belirleyin:

map.clearSelectedRegions(); 
:

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

tüm stilleri kullanmak net gerekiyorsa

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

Haritaya referans almak gerek

İlgili konular