私はJQVMAPを使用して米国の地図を生成しています。プラグインには onRegionClick コールバックがあります。この関数内でクリックされた状態にズームインしようとしています。onClick に返された SVG パスを viewBox 座標に変換する方法については、ある程度のアイデアがありますが、変換に問題があります。これが私がこれまでに持っているものです。
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#vmap').vectorMap(
{
map: 'usa_en',
backgroundColor: '#a5bfdd',
borderColor: '#818181',
borderOpacity: .50,
borderWidth: 1,
color: '#f4f3f0',
enableZoom: false,
hoverColor: '#c9dfaf',
hoverOpacity: null,
normalizeFunction: 'linear',
scaleColors: ['#b6d6ff', '#005ace'],
selectedColor: '#c9dfaf',
selectedRegion: null,
showTooltip: true,
onRegionClick: function(element, code, region)
{
//$('#vmap > svg')[0].setAttribute('viewBox', vmlPath);
console.log(region.path);
console.log(region.name);
}
});
});
</script>
ライブ デモへのリンク。SVG パスを viewBox 座標に変換するにはどうすればよいですか? 私はこれを正しい方法で行っていますか?または、これを行うより良い方法はありますか?私の最終的な目標は、状態 onRegionClick にズームインすることです。