Geographic addressで取得した住所の簡易表示がしたいです

現在、ローカルエリアで使用する地図入りの住所録を作っています。
が、住所を一覧で表示させた際に「日本」や「都道府県」まで表示されてしまい視認性が良くありません。
できればその下の「市町村」から先をテキスト表示したいです。

データベースへの登録をテキスト形式にするとGoogle Mapと紐づかなくなってしまいます。
また二重に手入力することによるイージーミスは回避したいです。

Inputの入力値をSearch Boxに渡しDefault valueに表示させたものをデータベースに入れることを試しましたがGoogleのAPI的にダメであるとアラートが出ました。
一旦Custom Stateに渡した場合も同様です。
:extractで一部だけ表示させることも試したのですが日本の住所表記に一致しないようで市から下の分類を出すことができませんでした。

bubble初心者なので変な罠にはまっているだけかもしれませんが、解決方法をご存知の方がいらっしゃいましたら、どうかご教唆ください。

こんにちは。
私も似たような処理をしたことがあるので参考まで。
※下記のケースは都道府県から表示させて国名と郵便番号を省略する方法です。

①対象の住所の文字数をカウントとしてCustom Stateに数値データでセット
(日本、〒153-0041 東京都目黒区駒場4丁目3−55 の場合は28をセットします)

②①でつくったCustom Stateの数値データに12をマイナス
(日本、〒153-0041 ←この文字数が12字のためです。28から12引いて16がセットされます)

③対象の住所データをformated as adressで文字列に変換した後に、truncated-from-end-to のプロパティで上記で計算した16の数値をCustom Stateでセットします。つまり住所の文字数で最後から数えて16文字を保持します。

そうすると、住所の前半部分の文字が切り捨てられるので、住所の簡易表記が可能です。

ただ、私の場合は1ページに1住所なので、一覧表示だとCustom Stateの計算がどこまで可能かはなんとも言えません。

また、都道府県以下から表示させたい場合は神奈川県や鹿児島県など、県名が3文字の場合があるので、コンディショナルで調整が必要かもしれません。

早いご返答と具体的な手法をありがとうございます!
なるほど、文字数というのは使えるかもしれませんね。
少なくとも日本と郵便番号は省ける可能性があり、少し希望が見えました。

私のケースではRepeatingGroupに表示させるのですが、対象エリアがかなりローカルなため、ある程度この方法で絞ることができるかもしれません。

似たような悩みを持つ方がいて少し安心しました。
いずれ仕様変更が行われることにも期待したいです。

ありがとうございました!

1 Like