使い勝手がよくてとても重宝していたプラグイン "Google Maps GPX Viewer" がサポート停止・非公開になって数年。今年2月にはXSSの脆弱性があることが公開された。(参考→ CVE-2025-27313)
放置したらアカンのはわかっていたものの、半年も放置してしまった。
そもそもの話として2023年5月にはこんなことを考えていた。
Leafletベースでgpxかkmlを読み込み、地理院地図とOSMを切替表示できるWordPressのプラグインを探しているが、ないなあ。作るしかない?それは面倒だ。
— ラス&ロード (@RasandRoad) May 8, 2023
Leaflet Mapやそのエクステンション、或いはLeaflet Maps Marker等の既製プラグインやopen-hinata3を試してみたものの帯に短し襷に長し。
自作できる環境とスキルはあるんだから、よそ様にあれこれ我儘言ってるんじゃなくて自作せんか!と天の声が降ってきたので、重い腰を上げた。
KMZファイルを淡色地図に表示
KMLファイルを標準地図に表示
KMZファイルをOSMに表示
要件を整理しておくと
- ショートコードで指定されたkmz/kmlファイルを表示
- kmz/kmlファイルの格納先はhome_url()下の任意のディレクトリ
- 地理院タイル淡色地図を基本とし、標準地図やOpenStreetMapに切り替え可能
- kmzファイルの端点を元にズームレベルを調整(a.k.a. fit-bounds)
- kmz/kmlファイルに含まれる図形はポイント、ラインストリング、ポリゴン
- ポイント、ラインストリング、ポリゴンにセットされた名称をマウスオーバーで表示
やってみたら3時間ほどで作れた。今までプラグインを探して這いずり回っていた時間は何だったんだ。ともあれ、世間にこの機能のプラグインがないということは需要は私ひとりなので、公開する必要はないよね?
2025年09月23日追記
写真レイヤをオーバーレイする機能と全画面機能を追加した。
👆️のように1記事内に複数の地図を配置すると写真レイヤをうまく操作できない問題があるけれど、そもそもそういう使い方は極めて例外的で、基本的に1記事に1地図なので問題なし。

