0

私は以下のコードを持っています:

onRegionClick: function (event, code) {
    // search for the state based on the code of the region clicked.
    for (var r = 0; r < mapData.stateList.length; r++) {
        if (mapData.stateList[r].state == code) {
            if (mapData.stateList[r].markets.length == 1) {
                // state only has one region - navigate to it.
                window.location = mapData.stateList[r].markets[0].url;
                break;
            } else {
                // state has multiple regions - zoom into it on the map and show the markets.
                $("#map-reset").show();
                $('.map-label').text('Click a city below to view communities in that area.');
                $('body').addClass('map-zoomed');
                showState(code);
                break;
            }
        }
    }
}

選択したリージョンにクラスを追加するにはどうすればよいですか? Google と Stack Overflow で見つかった同様の質問に基づいていくつかのルートを試しましたが、役に立ちませんでした。どんな助けでも大歓迎です。

4

1 に答える 1

0

それを修正する方法を確認してください:

http://pastebin.com/s5GwcEMy

このメソッド「setSelectedRegionStyle」を追加します

マップへの参照を取得する必要があります。

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

カスタム カラーを設定したら、次の操作を行います。

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

私の場合、色を変更するだけで済みますが、firebug を使用して別のオプションを確認できます。

これは追加された方法です(pastbinで確認してください)

setSelectedRegionStyle : function (r,c) {
return this.regions[r].element.style.selected.fill = c;
},
于 2013-03-12T14:04:40.133 に答える