ここで問題が何であるかはわかります。たとえば、世界地図を通常の方法で作成するのはかなりの負荷です。私が正しければ、あなたが望むのは、領土マップ画像を持ち、ホバー領域が国境と正確に一致するホバー効果を配置することです. 地図はSVGでも構いませんが(描画部分は既にできています)、問題はSVG地図座標を使ってHTMLエリアマップを生成する方法です。PHPを使用してSVGをRaphaelに変換する(座標を生成する)解決策があります(試してみましたが、少なくとも提供されたデモでは見栄えがします)。しかし、そのためには raphael.js が必要です...気が変わったら: https://github.com/atirip/svg2raphael。また、Raphael に慣れていない場合は、慣れるまでに時間がかかります。ドキュメントは、私にとってはあまり良くありません。
編集: SVG->rapahel.js からの変換が機能することを確認できますが、SVG ファイルには微調整が必要です。svg2raphael で提供されている SVG の例に見られるように、ファイルは Adobe Illustrator で作成されました。Inkscape の SVG (プレーン) を試してみましたが、正しく動作しませんでしたが、次のように問題を修正できました。
- svg2raphael は生成された Inkscape を翻訳しません
<path style="fill:#ff0000" ...></path>
(fill="none" を設定します!!! 結果は見えませんが、正しく翻訳されます。style <path fill="#ff0000" ...></path>
="" 内のすべてを無視するようです。
- svg2raphael は Inkscape SVG から配置を読み違えるため、イラストを Inkscape 内に移動するか、テキスト エディターで SVG ファイルを編集して M 値を M0,0 に変更する必要があります。
- svg2raphael は複数の svg 要素を変換できますが、Inkscape が生成するメイン タグを見てイラストのグループを整列すると、イラスト全体がレンダリング領域から離れて何も表示されないことがあります。お役に立てれば!
編集 2: Inkscape の style="" を使用して、SVG に適用する CSS ルールを作成できます。これは、SVG/Raphael の外でスタイルを維持するのに最適です!