#はじめに
位置情報を使って周辺の飯塚市おすすめ観光地へ案内するLINE Botを作成した。
この記事では、位置情報を簡単に送る方法と、ユーザから送ってもらった位置情報をデータベースに保存せずにメッセージやりとうりをする方法を説明する。
作ったBot
福岡県飯塚市のおすすめ観光スポットを案内するBotを作成しました。
ドコイコ飯塚
位置情報の送り方
LINEで位置情報を送ろうとするとメッセージ送信画面で「>」→「+」→「位置情報」とタップせねばならず、送り方を知らない人も多い。
このBotでは位置情報の送り方をわかりやすくするため、リッチメニューに「位置情報を送信」ボタンを設置して、LINE URLスキームをリンクするようにしている。
送られた位置情報の取り扱い
このBotでは位置情報をもとに、周辺の観光地をおすすめしてそこまでの経路をGoogleMapを使って案内する。
手順としては、「位置情報の送信」→「カテゴリー表示」→「周辺観光地を表示」→「GoogleMapを表示」となるため、初めに送ってもらった位置情報を、何かしらの方法で受け渡してやる必要がある。
データベースに入れる方法もあるが、どのタイミングで位置情報を削除するのかや、そもそも機微な情報をアプリに持ちたく無いので、データベースを使わずに送られた位置情報をポストバックアクションのdataに入れたカルーセルを作成して位置情報を受け渡している。
image_carousel_template_message = TemplateSendMessage(
alt_text='ImageCarousel template',
template=ImageCarouselTemplate(
columns=[
ImageCarouselColumn(
image_url='https://storage.googleapis.com/xxxx/cafe.jpg',
action= PostbackAction(
label='食事',
text='食事',
data=geodata + ',食事'
)
),
ImageCarouselColumn(
image_url='https://storage.googleapis.com/xxxx/history.JPG',
action=PostbackAction(
label='観光',
text='観光',
data=geodata + ',観光'
)
),
ImageCarouselColumn(
image_url='https://storage.googleapis.com/xxxx/gift.jpg',
action=PostbackAction(
label='お土産',
text='お土産',
data=geodata + ',お土産'
)
)
]
)
)