見出し画像

GASを使って、家から徒歩圏内の保育園をサクッと出した。

はじめに

GASでGoogle map APIを呼び出して自宅から全保育園住所への徒歩分数を算出するツールを作ったので共有します。

モチベーション

自分の家から最寄りの保育園探しをする時に、一個一個の住所をGoogleマップで検索して、徒歩何分か出して、エクセルに打ち込んで、最後に比較するって作業があまりに単純作業で腹が立ったのである程度自動化する。
実際にがーっと手を動かせば、作業時間はそれほど大したことないきもするのだが、簡単に自動化できる作業は自動化したくなる。

やりたいこと(要件)

住所を入力すると、自分の住む地域の認可保育園全てに対し、自分の家から徒歩何分かを算出する。
また、視認性のために、徒歩15分以上かかる保育園はセルを黄色、徒歩30分以上のものはセルを赤色にする。

準備

自分の住む地域の認可保育園一覧をテキストで入手しておく。(この後、spread sheetに貼り付ける)
この際、住所ではなく名前だけでも(たぶん)いける。(APIで呼び出すので、Googleマップの検索で、該当の固有名詞で呼び出せるなら住所なくてもいけるはず)

実装

GASのGoogle Map APIを使って上手いことやる。以下のコードをApps Scriptに入れると、SpreadSheet上で、SUMなどの他関数と同様に扱える。
MapAPIでの実装は、本noteの最後に載せたサイトを全面に参照してます(リンク)。

function mapQuery(src, dest) {
 var directions = Maps.newDirectionFinder()
 .setOrigin(src)
 .setDestination(dest)
 .setMode(Maps.DirectionFinder.Mode.WALKING)
 .setLanguage("ja");
 var route = directions.getDirections().routes[0];
 var value = route.legs[0];
 var ret = value.duration.value/60;
 return ret;
}

試しに動かす

サンプルとして、東京タワーを自宅として、港区の保育園を見てみる。試しにやっているので、保育園の一覧はPerplexityに「港区の認可保育園を住所とともに表で出して」といって出させた。

以下は設定した書式設定ルール。

東京タワーから虎ノ門ヒルズに引っ越した場合の最寄り保育園の変化。

住所ごとに、最寄り保育園が何個あるかが常に出てくるサイトとかあったら便利なのに。誰か作ってくれ。

見た目として0~15, 15~30, 30~で色分けしている。他に、チャリや電車で保育園まで送ることも考慮したい場合には、AppScriptをいじって電車移動や自転車移動を追加すると良い。

今回、お試しなので港区の保育園を網羅していない。対象地域の保育園全数をSpredsheetに貼り付け可能な状態で手軽に取得するには、PDFをNotebookLMに食わせた上でリストを取得するとかの工夫が必要かも。
AIを噛ませると嘘情報が怖いですが、AIに表を作らせて、抜け漏れチェックする方が手作業コピペよりはマシかも。

最後に

想定通りのツールは作れた。引っ越しを考えていたので諸々比較するために、起点となる住所が変わるのでコロコロ変更できて便利。
ほんとは、GoogleMapのAPIかで口コミを取得した上で、Geminiと連携させて口コミ要約もまとめてしてくれるとハッピーだが、一旦断念。
あと、今の実装だと呼び出すたびにAPI叩いていると思うので不経済。ボタン操作とかで、一回だけ実行するようにほんとはしたくて途中まで頑張ったが眠いので諦める。


参考


この記事が気に入ったらサポートをしてみませんか?