jeyseni's diary

「ジェイセニ」と呼んでください。批判ではなく提案をするのが生き甲斐です。

逆ジオコーディングはYahooで満足のいく出力ができた--求めていた“住所読み上げ耳ナビ”をMacrodroidで完成

Macrodroidと地図サイトの「逆ジオコーディング」で,スマホの画面オフでの住所読み上げを実現 - jeyseni's diary (2024/11/15)では,第1段階としてOpen Street Mapの逆ジオコーディングAPIを使っての実験で目的の“耳ナビ”を実現できることが実証された。ただ,追記にも書いたとおり,OSMAPIでは,「〇〇町〇丁目」の情報までしか,どうしても変換できなかった。そこで,町名以外に「道路名」と「ビル名」「近隣スポット」の情報も読み上げるように設定したのだが,クルマで走った場合でも「〇丁目」が数分間続くし,道路名に至っては走行中ずっと同じ道路名を読み上げている。正しい情報なのだが,ちょっと残念な状態だった。

 そこで第2弾として,登録が面倒だと言っていた「Yahoo!リバースジオコーダAPI」を使ってみることにした。個人利用であっても,Yahoo IDと氏名,住所,利用するアプリ名などを登録する必要がある。必要事項をかなりの項目数入れた後,ようやくアプリケーションIDが発行された。GETメソッドでURLを送るのだが,その最後にこのアプリケーションIDを付けないとエラーになる。

 結果は,なかなか良かった。Addressというレスポンスフィールドに「都道府県名+市名+町名+〇丁目〇」までがまとまって取得できた。驚いたことに,場所によっては,「町名+〇丁目〇の〇」と,詳細な住所まで返してくれたのである。

 都道府県名と市名は何度も繰り返されるので本来は削りたいところなのだが,レスポンスフィールドで同じ名称を何度も使っており,個別に抽出するのがやや面倒なので,第2段階ではこれらを含む「Address」というフィールドと,道路名を抽出して音声合成させることにした。また,その座標を通過時の速度も音声合成で出力している。これで,今どこにいて何キロで走っているかを音声で知りたい,という筆者の要望を叶えることができた。スマホの画面をオフの状態でも使える。

 Androidスマホ利用の方は,Macrodroidでいろいろ楽しむことができる。無料版だとマクロを5個しか作れないので,有料版(800円で買い切り)を使うことをお勧めしたい。ネット上でもMacrodroidエバンジェリストは何人もおられるし,サンプルマクロもたくさんアップロードされている。

 

Macrodroidの設定画面(サンプル)