2012-02-10 3 views
0

Я новичок Рафаэль и нужна помощь в следующем: Я использую этот Raphael демо для того, чтобы построить карту Европы http://playground.mobily.pl/tutorials/building-an-interactive-map-with-raphael/demo.htmlРафаэль карта цвета заливки

Вот моя версия: - отображается меньше стран Вот. http://jsbin.com/isecus/20

В настоящий момент все страны карты имеют цвет заливки #fff, а когда пользователь наводит указатель мыши на страну, цвет заливки меняется на # 1669AD.

Что мне нужно сделать к моменту загрузки карты, в определенных странах должны быть определенные цветные заливки. Например, у Польши должен быть красный цвет заливки, а в Испании - желтый цвет. Все остальные страны должны иметь цвет по умолчанию белого/#fff. Любые предложения о том, как это сделать, более чем приветствуются.

ответ

1

Вы должны добавить атрибут заливки для каждой страны, как этот

iceland: { 

     name: 'Iceland', 
     path: ..., 
     fill: '#eee' //your color 
    }, 

, а затем в вашем для цикла необходимо добавить, что цвет, чтобы заполнить атрибут вашего объекта

for (var country in paths) { 
     var obj = r.path(paths[country].path); 
     obj.attr(attributes).attr({fill:paths[country].fill}); //like this 
     arr[obj.id] = country; 
       //your other code here 
     } 

Кроме того, вы должны сделать тот же самый тонкий в части после наведения в вашем коде, чтобы вернуть атрибут заполнения на paths[country].fill.

Смежные вопросы