Javascript 在单击区域时加载另一个jvectormap

Javascript 在单击区域时加载另一个jvectormap,javascript,jquery,jvectormap,Javascript,Jquery,Jvectormap,我正在尝试在RegionClick上加载特定区域地图onRegionClick。但是,似乎在进行更改后该区域正在加载。这是我的密码: function switchMap(code) { $.getScript('maps/'+ code +'.js'); $('#map').vectorMap({map: code}); } $('#map').vectorMap({ map: 'world_mill_en', onRegionClick: function(

我正在尝试在RegionClick上加载特定区域地图
onRegionClick
。但是,似乎在进行更改后该区域正在加载。这是我的密码:

function switchMap(code) {
    $.getScript('maps/'+ code +'.js');
    $('#map').vectorMap({map: code});
}

$('#map').vectorMap({
    map: 'world_mill_en',
    onRegionClick: function(event, code) {
        if (code == "CA") {switchMap(code)}
        if (code == "AF") {switchMap(code)}
        if (code == "AL") {switchMap(code)}
        if (code == "AR") {switchMap(code)}
        if (code == "CH") {switchMap(code)}
    }
});
控制台输出如下:

Uncaught Error: Attempt to use map which was not loaded: CA world-map.js:82

OPTIONS file:///C:/Users/D-4/Desktop/find-a-bible/maps/CA.js?_=1364318443130  jquery-1.8.2.js:8416

为了使用switchMap函数,必须在文件完全加载后初始化新的vectorMap,从而在回调中初始化它

function switchMap(code) {
    $.getScript('maps/'+ code +'.js' , function (data){
        $('#map').vectorMap({map: code});
    });
}

您应该只放置div的高度或宽度来正确渲染贴图。jvectormap将自动计算缺少的维度,以保持贴图纵横比。如果使用javascript动态更改高度,请确保在地图对象上调用
updateSize

注意,您可以使用以下
var-mapObject=$(“#世界地图gdp”)获取地图对象然后调用
mapObject.updateSize()

检查页面中是否有jquery jvectormap us mill en.js“>。