Raphael を使用していくつかのパスを描画しています。各パスには、バウンディング ボックスのサイズと位置に関連付けられた四角形 [コンテナー] があります。両方の形状をドラッグするためにコンテナーを使用しています。
移動コールバックでは、両方の位置を更新して、両方が一緒に移動するようにします。
シリアル化するまで、これはすべてうまく機能します。パスをシリアル化するだけで、逆シリアル化後にその場でコンテナーを作成します。
json に変換してから戻すと、問題なく動作します。パスの現在の変換を印刷でき、正しく見えます。この後にパスで変換を行うと、パスがリセットされて 0,0 に移動します。
ここに問題を示すフィドルがあります。
長方形を動かすと、両方のオブジェクトが一緒に動くことがわかります。
[保存/読み込み] をクリックすると問題なく表示され、パスも同じように出力されます。
ここでドラッグすると、パスは 0,0 にリセットされます。印刷は、変換が 0,0 からリセットされたことを示しています。
シリアル化前と同じようにパスを移動する方法を見つけようとしています。その過程で何かが失われていますか?または、更新が必要な内部状態はありますか?