を変換この例では、私の問題を示していますhttps://bl.ocks.org/feketegy/ce9ab2efa9439f3c59c381f567522dd3D3はどのようにスケールを変換しながら、要素と同じサイズを維持するために/
私はグループ要素内のパスのカップルを持っていると私はパン/青い四角形のパスを除いて、これらの要素を拡大したいですこれは別のグループ要素にあります。
ズームとパンニングは、transform="translate(0,0) scale(1)
を最も外側のグループ要素に適用し、ズームデルタをキャプチャして、それを同じサイズに維持するためにグループ要素に適用して行います。
これは動作していますが、同じサイズの青い矩形の位置がうまくいけば、それを他のパスと同じ相対位置に保ちたいと思います。
<svg width="100%" height="100%">
<g class="outer-group" transform="translate(0,0)scale(1)">
<path d="M100,100 L140,140 L200,250 L100,250 Z" fill="#cccccc" stroke="#8191A2" stroke-width="2px"></path>
<path d="M400,100 L450,100 L450,250 L400,250 Z" fill="#cccccc" stroke="#8191A2" stroke-width="2px"></path>
<g class="same-size-position" transform="translate(300,250)">
<g class="same-size" transform="scale(1)">
<path d="M0,0 L50,0 L50,50 L0,50 Z" fill="#0000ff"></path>
</g>
</g>
</g>
</svg>
私はX/same-size-position
グループのY位置を取得し、outer-group
の翻訳のx/yからのデルタを作成しようとしたが、それ:
レンダリングされたHTMLの構造は次のようになります動作していないようです。
私には、青い矩形が正しい位置を保持するように見えます(つまり、左上隅にあります)。 – zinfandel
私が探している計算は、POI(Point of Interest)アイコンでGoogleマップがどのようにそれを行い、他の経路と同じ位置に同じサイズで残っているかです。 私のケースでは、青い矩形が他のパスの上にくるシナリオがあります。 – feketegy