使用jVectorMap我有一张美国地图,然后点击状态,然后弹出一个弹出窗口,显示该个别州的地图。
弹出窗口是通过AJAX加载的(不使用jQuery),会发生以下情况:
为地图执行脚本。这是一个非常长的文件,但它是以下所有内容的一部分:
$。fn.vectorMap( 'addMap',...
其余弹出窗口的脚本位于更下方。
var map = new jvm.WorldMap({ container:$('。stateMap'), 地图:'indiana', 的backgroundColor: '无', zoomOnScroll:假的, 系列:{ 地区:[{ 属性:'填充', normalizeFunction:'polynomial', }] } });
执行此操作并出现以下错误:
错误:尝试使用未加载的地图:indiana
我可以在任何AJAX调用发生之前加载所有地图,但我不想一次加载51个地图。
答案 0 :(得分:0)
我最终绕过了使用vectorMap函数的需要。虽然我很想知道如何让它真正发挥作用,但我仍然满意于我最终的目标。
我决定将'addMap'函数添加到jvm对象中。一开始它看起来如下:
var jvm={addMap:function(n,m){jvm.WorldMap.maps[n]=m},//...
因为我不太了解jVectorMap的复杂性,所以这可能是一个太多的黑客忽略很多东西,但它确实适用于我正在加载的SVG地图。您可以按如下方式使用它:
jvm.addMap(mapName,{mapData});