16
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

位置情報を使って観光案内LINE Botを作った話

Last updated at Posted at 2021-12-13

#はじめに
位置情報を使って周辺の飯塚市おすすめ観光地へ案内するLINE Botを作成した。
この記事では、位置情報を簡単に送る方法と、ユーザから送ってもらった位置情報をデータベースに保存せずにメッセージやりとうりをする方法を説明する。

作ったBot

福岡県飯塚市のおすすめ観光スポットを案内するBotを作成しました。

ドコイコ飯塚

192smtmm.png

位置情報の送り方

LINEで位置情報を送ろうとするとメッセージ送信画面で「>」→「+」→「位置情報」とタップせねばならず、送り方を知らない人も多い。
このBotでは位置情報の送り方をわかりやすくするため、リッチメニューに「位置情報を送信」ボタンを設置して、LINE URLスキームをリンクするようにしている。

LINE URLスキームでLINEの機能を使う

image.png

送られた位置情報の取り扱い

この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 + ',お土産'
                    )
                )
            ]
        )
    )
16
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?