歴史地図サービス「れきちず」が多言語対応(日本語・ひらがな・英語)したことを受けて、MapLibre GL JS で言語切り替えに対応した地図を実装する方法を紹介します。

れきちずとは

れきちずは、江戸時代後期(1800〜1840年ごろ)の地図を現代風のデザインで閲覧できるWebサービスです。2025年11月に多言語対応が追加され、以下の3つのスタイルが提供されています。

言語スタイルURL
日本語https://mierune.github.io/rekichizu-style/styles/street/style.json
ひらがなhttps://mierune.github.io/rekichizu-style/styles/street/style_hira.json
英語https://mierune.github.io/rekichizu-style/styles/street/style_en.json

シンプルなHTML版

フレームワークを使わず、素のHTML + JavaScriptだけで実装する例です。GETパラメータ(?lang=en)に応じて表示言語を切り替えます。

完全なHTMLファイル

<<<<!hh/b//Dte<<<<<<ho<<<bhOmammtsls/edd/ds/otCldeeicitb#.}.}..}sayi<<<dicc}f}lc}mf}f}f}d}w}usdmT>tttrnyomcllltd>vbbbivro;ueo)auuuo)i)pcylYlaalikl{daohdajgbbapbbbcftaabcby>uuuvin'''nccrtncscz;pnd}ncuwnicmuucb;nci};dr>>Paepeypneiluaaonaooauornnaoolcttt>ipsjjeGcooesoteo.co)UcoricfuapputdofaiEncn>th>mtisispcrgdrrcrnaggclreltttdttaanEtnntctnynoatcb;Rtnlntrpddmnoncmutpghara{{rgpgt:kd-dddkstn--kod>aooo=>'-'TissuutltmdiutLis.di(r.aae.ws(uapeth=amserohlnigebieego-sbbgresnnn"S:H:ottrrmaee:domnotsoolesttna.tlrpdB>t"rerfgfwlta-f8rrtnrrrrsittr:rsmTinnrai:rCne.newnaneeetdaar.aumjs=c=iois:yiypo-ng:-o:itnno-=cccaY'r'plepn:1oncua.nttUB.ddlnesttlae"="nnd:t-xub:ruzi:.uwc"lllpLhahgaaSneS2nutlurrhsgLSruqEdagneet>"tv"h:tt{5ec;no{1anpeohanhocaaa"Et'ternTt=rT[tp.aplciwatltuv/EnttBo>=iht-h0fmodt8pddo:nocdilosss>St:ttagYL:Y1rdqsdhsi=ny(teevg!LSun"ett0f:plsn:tpxi:i:vt:tonsss<UppLmLanL3oausa=Ptt=gllorne=attsUwtp;axe:toxun1eiert===/R=s'sas=Ene'E9lteLtaoc=eanytn==nyt(Tppsm1;xe#msswt4arv#;:r"""dL:h:nSgwmS.(erienrrh=(nsSLtglo)Fos:pi0;cnf:1o:heple2ollli{/t/g=p[a[7nBysUeayLcSg(eiLgcen;-r:al0et56lirxl{1#laaav/t/Fal=mpc6euStrwm.aulT))lsieu=(s8t<dy%n:f1pi4t;;{92snnn>mpmrnraa'u7wte.lspnraY;;etstrS(""ud:;t5pxdpe0b61"gggisioeangp,r1tlt(U.ugrnLcetLrlT)>tuniecfx;x;.aF9>---e:emwmgelr,moeolRss(egEtneaeaY;cinpnshre5#;2c36bbbr/rUs]tieancgaLehln;SoennnnLotpkgae;n;scsk;Ftttu/urU.Lbn3pstgn(tSat[rregtgEnlkg:nitoc;g3nnnnmnlRg?art5l(olgw(tnLlA(rFL;Steg.sgelcr;"""eie(LeneL.i)re)i'agaal'(ra[e>.c0-hri;o.e.)Stlgga6bA(nlt)nnlc'onlnco;st;dudddgrge(aFln8r{l'{daegg(lpmgatome:naaaiui{a'nr.g1elaon({)]'ioU)n=mbr#dttttntrlgoM]2g(cwg{).cprg"moicd:aaahehcama,]l't.'}r;lksl{]wmaxfad---u.uhn:Up,..il,,ea't()iap-;ld#lllbgbPgr(Nlvotn,a);dplsc;eaaa.i.a''l{aaeclugt;tlii}(0nnnitir)j(vn'aa'r-ehibz1egggohoa;a)ig,tn,nb'=bri00===/u/m';g-ig;t,dren0e"""rbrs;abbo)un=ee-gv0jjee.e(tttn;r'>v-g:h;aankikwinn)l)igl"-"ioiio'.;).scl@b-}>H>c/cnn)d;fw=e@4oiEhrhdC.aoi>-4.r5rnieiooftrtw.7d0agzkzwnoaEc{i7.ep<"luiu.trsahd.1rx/>i-c-lrEecLt1-)bsshsooathahdb;uhtitclc.(n,diot<yzya(hlbgisx}t/lult)(at(ist;o<be-ei,bnnbntn/u/s/otgtim}>btstsn'n=ntmauttyt.t=>.iaptoylyso==dapltnlelep>={allio>e/ea-t-ibnsssrr{casbr>/t/ciuscresyshgreae-tlt)hrtl-grer;te.eglese'nl=l.e/e)ta1.ctst;Ln.js/t/ag0sssrsn)"""tetg)>>yey);<rltl;/eeesl.s_c=jter"synisol.ptnejty'_s>l,hoeinsr'hae.ejts"on',

使い方

  1. HTMLファイルをWebサーバーで配信(ローカルファイルでは動作しません)
  2. アクセス例:
    • index.html → 日本語(デフォルト)
    • index.html?lang=en → 英語
    • index.html?lang=ja-Hira → ひらがな

ポイント

GETパラメータの取得

ccoonnssttplaarnagms==panreawmsU.RgLeSte(a'rlcahnPga'r)a;ms(wi'nedno'w,.l'ojcaa-tHiiorna.'s,earch)n;ull

URLの更新(ページ遷移なし)

cuworinlns.dtsoewua.rrhlcihs=Ptaonrreaywm.spU.uRssLeh(tSw(ti'anltdaeon(wg{.'}l,,oc'ae'tn,i'o)un;r)l;);

ブラウザの戻る/進む対応

w}i)n;dwU.RaLddEventListener('popstate',=>{

注意点

スタイル切り替え時のレイヤー再設定

map.setStyle() を呼ぶと、追加したソースやレイヤーがすべてリセットされます。そのため、style.load イベントを監視して再設定する必要があります。

mm}aa)pps;..esote:nutcpSeLt(ay'ylseetr(ysSl(Te)Y.;LlEoSa[dl'a,ng]);=>{

データ利用について

れきちずのタイルデータ・スタイルは CC BY-NC-ND 4.0 の下で利用できます。商用利用の場合は、れきちずの運営(株式会社MIERUNE)にお問い合わせください。

まとめ

  • れきちずは日本語・ひらがな・英語の3つのスタイルを提供
  • GETパラメータで言語を指定(?lang=en
  • map.setStyle() で動的にスタイルを切り替え
  • スタイル変更後は style.load イベントでレイヤーを再設定

歴史地図と多言語対応を組み合わせることで、海外の方にも日本の歴史的な地名や街道を楽しんでもらえるアプリケーションが作れます。

参考リンク