non*_*jon 13 javascript jquery jvectormap
我正在尝试加载特定的区域地图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)}
}
});
Run Code Online (Sandbox Code Playgroud)
控制台输出是这样的:
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
Run Code Online (Sandbox Code Playgroud)
小智 4
为了使用 switchMap 函数,您必须在文件完全加载后初始化新的 vectorMap,从而在回调中对其进行初始化。。
function switchMap(code) {
$.getScript('maps/'+ code +'.js' , function (data){
$('#map').vectorMap({map: code});
});
}
Run Code Online (Sandbox Code Playgroud)