1

ここで説明されているように、canvg を使用して、json レイヤーで構成される Polymaps マップを画像ファイルとして保存しようとしています。私が直面している問題は、XML シリアライザーを使用して svg 文字列を作成しようとすると、サブ要素の内容が文字列に含まれないことです。これらの要素は地理情報が保存される場所であるため、キャンバスにマップを描画するために必要な情報が svg 文字列に含まれていません。

なぜこれが起こっているのか、またはsvg文字列にすべてのsvgサブ要素を含める方法はありますか?

4

1 に答える 1

2

しばらくしてこの問題に戻ってきたので、解決したと思います。

Polymap では、"load" 関数と "show" 関数内で、地理情報 (私の場合は json ファイルからアップロードされたもの) を含むマップの "g" サブ要素にのみアクセスできます。「load」または「show」関数内で最後のマップ機能をループしながら、svg DOM (私の場合は feature.parentNode.parentNode.parentNode.parentNode) を上に移動します。次に、XML シリアライザーを使用して文字列を抽出します。抽出された文字列内でマップ スタイルを完全に保持する場合は、CSS マップ スタイルをインラインに変換する必要があります。

于 2012-12-07T18:47:42.160 に答える