# Dokobot ## やりたいこと 現在位置から最寄りの施設を検索でき、経路案内にも連携するサービス 対象:LINEbotサービス App:GoogleAppsService DB:GoogleSpread サーバ立てたり、DB構築するとちょっと時間かかっちゃうので、 保守性も含めてスピード感よくサービスリリースしてみる。 ## やったこと 静岡県の交番一覧(名称・住所・電話番号)をスプシにまとめた スプシのアクセス上限あると聞いた 最寄り(*km以内とか)の抽出方法の検討 1. スプシに施設の緯度経度を追加する 1. 現在位置の緯度経度を渡す 1. 緯度経度からざっくりと最寄り施設を絞り込む 1. 対象施設の距離を計算して最寄りを返却する 1. スプシに施設の緯度経度を追加する →GASでClass Geocoderを使って緯度経度を追加するスクリプト作る。これはメンテ用のスクリプトになる。 https://gsuiteguide.jp/sheets/openbyurl-url/ http://www.nowhere.co.jp/blog/archives/20200410-232032.html 1. スプシから周辺施設を絞るサンプルスクリプトを作る 中心座標から東西南北に指定距離を区切った正方形の中にある施設を取得するサンブルを作った。 1. LINEbotの最低限版をつくる 久しぶりだから忘れてたけどシンプルなものはできた。 1. 位置情報を送信するLINEbotをつくる LINE URLスキームを返却するJSON ` 'type': 'template', 'altText': '位置検索中', 'template': { 'type': 'buttons', 'title': '最寄駅探索探索', 'text':'現在の位置を送信しますか?', 'actions': [ { 'type': 'uri', 'label': '位置を送る', 'uri': 'line://nv/location' } ] } ` 1. 位置情報から最寄り施設を返却するLINEbotつくった。 保存しないでデプロイ、コードミスでdebugにちょっと時間かかる。 ## やること 1. 経路案内つけて返却する https://www.google.co.jp/maps/dir/34.983111,138.3805204/34.9713662,138.387301/@34.9773253,138.3756947,15z/data=!3m1!4b1!4m2!4m1!3e2 移動手段として公共交通機関を使う /data=!4m2!4m1!3e3 移動手段として車を使う /data=!4m3!4m2!3e0!4e1 移動手段としてできるだけバスを使う /data=!4m4!4m3!2m2!4e2!5e0 移動手段として徒歩を使う /data=!3m1!4b1!4m2!4m1!3e2 高速道路も有料道路も使わない /data=!4m4!4m3!2m2!2b1!1b1 3. 返却する最寄り候補をカルーセルテンプレートで複数返す 4. リッチメニューで交番以外にも対応させる