diff --git a/components/Info.js b/components/Info.js index e5aec2b..a8f2a26 100644 --- a/components/Info.js +++ b/components/Info.js @@ -1,6 +1,6 @@ // @ts-check -import { dict } from '../data/dict.js'; +import { dict, layers } from '../data/dict.js'; import { furigana } from '../js/furigana.js'; import { state } from '../js/state.js'; import { replaceSpecialChars } from '../js/utils.js'; @@ -31,7 +31,7 @@ const InfoTooltip = div( const flagUrl = () => { const { municipality, city, prefecture } = state; if (municipality.val) { - return `./img/city/Tokyo,Tokyo.svg`; + return `./img/tokyo/${replaceSpecialChars(municipality.val.name.en)}.svg`; } if (city.val) { return `./img/city/${replaceSpecialChars(city.val.name.en)},${replaceSpecialChars(prefecture.val.name.en)}.svg`; diff --git a/js/layers.js b/js/layers.js index b046f58..5363054 100644 --- a/js/layers.js +++ b/js/layers.js @@ -9,6 +9,8 @@ import { setCity } from './map/cities.js'; import { clearRegion, resetMap } from './map/regions.js'; import { layers } from '../data/dict.js'; import { state } from './state.js'; +import { findCity, findPrefecture } from './regions.js'; +import { setPrefecture } from './map/prefectures.js'; /** * @param {Name} layer @@ -21,11 +23,15 @@ export function setLayer(layer) { if (layer === layers.tokyo) { resetMap(); clearRegion(); - setMunicipalityType(); + setPrefecture(findPrefecture('Tokyo')); + setCity(findCity('Tokyo')); + setMunicipalityType(null); } else if (state.layer.val === layers.tokyo) { setTimeout(() => { resetMap(); clearRegion(); + setCity(null); + setPrefecture(null); setMunicipality(null); }, 1); } diff --git a/js/map/prefectures.js b/js/map/prefectures.js index b32b5f0..9806b23 100644 --- a/js/map/prefectures.js +++ b/js/map/prefectures.js @@ -64,14 +64,10 @@ function improvePrefectureElm(prefecture) { } /** - * @param {Prefecture} prefecture + * @param {Prefecture | null} prefecture */ export function setPrefecture(prefecture) { - if (!prefecture) { - return; - } - - const logicalname = `F#feature#1#0#JP-${prefecture.code}#0`; + const logicalname = prefecture && `F#feature#1#0#JP-${prefecture.code}#0`; /** @type {NodeListOf} */ const regionsElmCollection = document.querySelectorAll('#regions svg path');