2012-01-06 4 views
0

私はマウスオーバーでcoutriesが強調表示されているマップを表示するために、jq-pluginベクターマップを使用しています。 国をクリックすると、国がズームインされます。 私の問題は、クリックした国(最小/最大x/y座標)の寸法を取得する方法を見つけることができないため、使用可能な画面領域をカバーするために適切に拡大縮小できることです。jQueryベクトルマッププラグイン:国の寸法を取得する

マップが作成された入力データは以下のフォーマットを有する要素を持つ配列である:

'lu': { 'lock':1, 'type':'country', 'name': 'Luxembourg', 'path': 'M233.7,335.91l-2.56,3.47l-1.08,5.64 c0.16,0.02,0.31,0.05,0.48,0.05c1.96-0.08,3.24-0.59,4.86,0c0.02,0.01,0.03,0.01,0.04,0.02l0.47-3.6L233.7,335.91z' } 

私は、SVGとか、このプラグインとは、以前の経験をしたん、ので、多分明白な解決策は、私があります見ないでください。

このjqプラグインに依存しない代替ソリューションの提案も歓迎します。

答えて

0

pathパス要素を参照する変数である場合、path.getBBox()フォーム以下にオブジェクトを返す:

{ 
    x  : ... 
    y  : ... 
    width : ... 
    height : ... 
} 

xyは、左上隅を表します。ズームの場合、ラッピングsvg要素のviewBox属性をviewBox="x y width height"に設定できます。

+0

プラグインは、IE <= 8のフォールバックとしてSVGの代わりにVMLを使用します。この場合、プラグインは説明されている方法が機能しないと仮定していますか? –

関連する問題