jQuery jVectorMap动态地图加载

时间:2013-12-18 21:11:17

标签: jquery ajax jvectormap

使用jVectorMap我有一张美国地图,然后点击状态,然后弹出一个弹出窗口,显示该个别州的地图。

弹出窗口是通过AJAX加载的(不使用jQuery),会发生以下情况:

  1. 为地图执行脚本。这是一个非常长的文件,但它是以下所有内容的一部分:

    $。fn.vectorMap( 'addMap',...

  2. 其余弹出窗口的脚本位于更下方。

    var map = new jvm.WorldMap({     container:$('。stateMap'),     地图:'indiana',     的backgroundColor: '无',     zoomOnScroll:假的,     系列:{         地区:[{             属性:'填充',             normalizeFunction:'polynomial',         }]     } });

  3. 执行此操作并出现以下错误:

    错误:尝试使用未加载的地图:indiana

  4. 我可以在任何AJAX调用发生之前加载所有地图,但我不想一次加载51个地图。

1 个答案:

答案 0 :(得分:0)

我最终绕过了使用vectorMap函数的需要。虽然我很想知道如何让它真正发挥作用,但我仍然满意于我最终的目标。

我决定将'addMap'函数添加到jvm对象中。一开始它看起来如下:

var jvm={addMap:function(n,m){jvm.WorldMap.maps[n]=m},//...

因为我不太了解jVectorMap的复杂性,所以这可能是一个太多的黑客忽略很多东西,但它确实适用于我正在加载的SVG地图。您可以按如下方式使用它:

jvm.addMap(mapName,{mapData});