如何在jvectormap中明智地定位/显示地图大陆

时间:2013-09-07 07:58:41

标签: javascript jquery map jvectormap

我目前正在使用jvector地图,当我在每个国家/地区悬停其默认标签时会显示每个国家/地区名称。但是,我想根据大陆选择(世界地图)选择区域。

例如:

默认为世界地图,

当我悬停在国家/地区(美国,加拿大,墨西哥,巴西,玻利维亚等)时,它会显示国家/地区名称,但我希望将标签显示为 America < / strong>以及完整的美国地区需要得到突出。

同样适用于 EUROPE,ASIA 各大洲的情况。

请帮助我实现这一目标。

提前致谢。

1 个答案:

答案 0 :(得分:0)

试试这个

var data = {
    "countries" : [
               {
               "name" : "Brazil",
               "code" : "BR",
               "pGdp" : "6938",
               "cGdp" : "1313590",
               "pop" : "196342587",
               "continent" : "America"
               },
               {
               "name" : "United States",
               "code" : "US",
               "pGdp" : "45845",
               "cGdp" : "13843825",
               "pop" : "303824646",
               "continent" : "America"
               }
              ]
}

var countryData = [];

jQuery.each(data.countries, function() {
    countryData[this.code] = this[.pGdp];
});

jvm config ...

series : {
    regions : [ {
        values : countryData,
        scale : [ '#C8EEFF', '#0071A4' ],
        normalizeFunction : 'polynomial'
    } ]
},
onRegionLabelShow: function(e, el, code) {
    //search through data to find the selected country by it's code
    var country = $.grep(data.countries, function(obj, index) {
    return obj.code == code;
    })[0]; //snag the first one
    if (country != undefined) {
        el.html(el.html() + "<br/><b>Code: </b>" +country.code + "<br/><b>Continent : </b> " + country.continent);
    }
}