地図を表示してさまざまな国をクリックできるシンプルな Web サイトを作成しようとしています。
外観にはブートストラップを使用し、マップには jqvmap を使用したいと考えています。
ウィンドウのサイズ変更に合わせてマップを動的に調整するのは難しい場合があると読みましたが、実際に機能させる必要があります。今<div>
のところ、ウィンドウのサイズに適応させることができましたが、適応させる方法もわかりません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>
どんな助けでも大歓迎です。