5
var setMap = function (name) {
        var data = {
            map: 'world_en',
            backgroundColor: null,
            borderColor: '#333333',
            borderOpacity: 0.5,
            borderWidth: 1,
            color: '#c6c6c6',
            enableZoom: true,
            hoverColor: '#c9dfaf',
            hoverOpacity: null,
            values: sample_data,
            normalizeFunction: 'linear',
            scaleColors: ['#b6da93', '#909cae'],
            selectedColor: '#c9dfaf',
            selectedRegion: null,
            showTooltip: true,
            onLabelShow: function (event, label, code) {

            },
            onRegionOver: function (event, code) {
                if (code == 'ca') {
                    event.preventDefault();
                }
            },
            onRegionClick: function (element, code, region) {
                var message = 'You clicked "' + region + '" which has the code: ' + code.toUpperCase();
                alert(message);
            }
        };

        data.map = name + '_en';
        var map = jQuery('#vmap_' + name);
        map.width(map.parent().parent().width());
        map.show();
        map.vectorMap(data);
        map.hide();
    }

onRegionClick関数でクリックされた領域の値を使用する方法を知っている人はいますか?このマップを使用してWebサイトの統計を提供し、「1000 Views in US(United States)」のようなクリックでアラートを出したい

4

1 に答える 1

7

コメントで言ったように、質問した直後に解決策を見つけましたが、この小さな問題を抱えている人たちのためにも、私は自分の解決策を投稿するだけです。表示したい文字列をラベルに追加するだけです。

onLabelShow: function (event, label, code) {
    if(sample_data[code] > 0)
        label.append(': '+sample_data[code]+' Views'); 
}

それが役に立てば幸い。

于 2013-04-10T23:44:04.313 に答える