Рафаэль карта цвета заливки - PullRequest
0 голосов
/ 10 февраля 2012

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

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

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

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

1 Ответ

1 голос
/ 10 февраля 2012

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

iceland: {

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

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

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
        }

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

...