我刚接触jQuery,对Javascript并不熟悉。我有一个小的jVectorMap地图,上面大约有10个国家,我想在每个国家上方画一个小饼图。我知道可以创建标记,但是我不知道如何将自定义标记分配给国家。我也可以直接在jVectorMap上使用SVG插件进行绘制,但我无法使其工作。例如,使用“jQuery SVG”插件,我尝试在地图上方绘制一个圆。以下是代码:
这是结果:
<html>
<head>
<link rel="stylesheet" href="jquery-jvectormap-1.1.1.css" type="text/css" media="screen"/>
<link rel="stylesheet" href="jquery.svg.css" type="text/css" media="screen"/>
<script src="jquery-1.8.0.min.js"></script>
<script src="jquery-jvectormap-1.1.1.min.js"></script>
<script src="jquery-jvectormap-north-west-europe.js"></script>
<script src="jquery.svg.min.js"></script>
<script>
function drawCircle(svg) {
svg.circle(75, 75, 50, {fill: 'none', stroke: 'red', strokeWidth: 3});
}
</script>
</head>
<body>
<div id="europe-map" style="width: 400px; height: 400px"></div>
<script>
$(function(){
$('#europe-map').vectorMap({
map: 'north-west-europe',
focusOn: {
x: 0.3,
y: 0.4,
scale: 1.25
},
});
});
$('#europe-map').svg({onLoad: drawCircle});
</script>
</body>
</html>
这是结果:
以下是结果:
![在浏览器中的显示效果(Firefox 17)](https://istack.dev59.com/OZxEB.webp)
实际上,jQuery SVG“画布”创建了一个重复的div,导致世界地图下移。能否引用jVectorMap使用的SVG绘图空间来绘制内容?
也许可以使用自定义标记或类似方式更好地完成此操作?
非常感谢,如果这是个愚蠢的问题,请谅解。