我正在尝试制作一个简单的网站,您可以在上面看到地图并点击不同的国家。
我使用Bootstrap进行外观设计,并希望使用jqvmap来显示地图。
我已经了解到调整地图以动态适应窗口大小可能会很棘手,但我真的需要让它正常工作。目前,我成功使
我使用Bootstrap进行外观设计,并希望使用jqvmap来显示地图。
我已经了解到调整地图以动态适应窗口大小可能会很棘手,但我真的需要让它正常工作。目前,我成功使
的尺寸适应窗口的大小,但我不知道如何使svg也适应。它可能与缩放按钮无法正常工作有关,即使启用enableZoom: true参数也无效。
当我查看控制台时,出现以下错误,但我在互联网上搜索时没有找到解决方法:
当我查看控制台时,出现以下错误,但我在互联网上搜索时没有找到解决方法:
Error: <g> attribute transform: Expected number, "…le(0) translate(Infinity, 0)".
并且
Error: <g> attribute transform: Expected number, "scale(NaN) translate(0…".
它们非常相似,我想它们来自同一个问题。
这个标签 <g transform="scale(NaN) translate(NaN, NaN)">
是 <svg>
标签的直接子标签。我已经尝试使用 jQuery 修改这个属性并进行猜测,但是我的猜测是错误的。
以下是我的代码:
<head>
.
.
.
<script type="text/javascript">
var ratio=0.60;
$(document).ready(function() {
$('#vmapWorld').vectorMap({
map: 'world_en',
backgroundColor: null,
color: '#ffffff',
hoverOpacity: 0.7,
selectedColor: '#666666',
enableZoom: true
});
$("#vmapWorld > svg").css("height", $(this).width()*ratio);
});
$(window).resize(function(){
$("#vmapWorld > svg").css("height", $(this).width()*ratio);
});
</script>
</head>
<body style="background-color: #a5bfdd">
<div class="container-fluid" id="vmapWorld" style="background-color: #16982a">
</div>
</body>
欢迎提出任何问题,我们会尽力帮助解决。