位置情報を扱う「位置リスト」機能について少し考えてみた

この記事はa-blog cms Advent Calendar 2018 の11日目の記事です。

皆さん、a-blog cmsの位置情報機能を使ってますか? 私はそこそこ使ってます。今年も何案件かやりました。

他のCMSをお使いの方に説明しておきますと、最初は2017年4月にリリースされたバージョン2.7で搭載された機能で、エントリー(記事)に位置情報(緯度と経度)を持たせることで、あるエントリーの位置情報から近い順にエントリーを並べたり、GPSを使って現在位置から近い順にエントリーを並べたりすることができる機能です。

「現在地から探す」なんて高度な機能がプログラムができない人でも作れるようになったわけですね(a-blog cmsはPHPが使えなくてもカスタマイズできるのが特徴です)。

おもしろいので、私も調子に乗ってこんなサイトを作ってしまいました。ちょっと多忙で更新できていませんが・・・。

スマホ時代ですし、複数の店舗やスポットを表示したいサイトではものすごく使い勝手がいい機能です。最寄りの店舗の表示とかが標準機能だけで使えるわけですよ。観光スポットを紹介したい観光協会とか、複数の店舗・拠点を持つ会社とか、全国の代理店を紹介したいとかいう要件なら、ものすごくいい機能じゃないですかね。

他のCMSをお使いの方で、ここまで位置情報の導入の敷居が低いものはあまりないはずなので、ぜひこの機会にa-blog cmsも視野に入れていただくとよいのではないでしょうか。

1つのスポットでも位置情報は使えますよ

という感じで書くと、「複数のスポットがあるそこそこ大きなサイト」という感じの話になってしまうわけで、今回の記事の後半もだいたいそんな話になるのですが、実は1つしかスポットがなくても位置情報は十分に使えるものなんです。

サイトに訪問してもらうという前提はありますが、現在位置が距離が近い人に何か特別なオファーを出すなんてこともできます。

「近くの人を対象に何かする」ような距離で何かを判断する際には、位置情報が必要であることを知ってもらえればと思います。地図を表示することだけが位置情報機能ではないですよ。

と、ここまでが一般的なお話で、ここからが既にa-blog cmsを使ってるけど、位置情報はまだちょっと使ってないというユーザー向けのお話です。

エントリー以外の位置情報機能がついた!

2018年10月にエントリーの位置情報だけでなく、ブログ、カテゴリー、ユーザーにも位置情報を持たせることができるようになりました。実は2.7リリース当初から要望していた機能です。

エントリーの位置情報だけで、実は普通にやりたいことはほとんどできます。が、この機能が登場する前に、同様の機能をカスタマイズで作ってもらって導入したことがあったので、「多くの店舗があって、店舗ブログがたくさんあるような場合、何千とか何万という記事の中から、位置情報が入っている記事だけを引っ張ってきて並べる」ようなのは、実装はできても速度とか運用で苦労するのではないかなと。


エントリー位置リスト+個ブログを使った場合の構造図

今まではエントリーしか位置情報を持てなかったため、スポット情報と新着情報が混在

位置情報を使いたい場合でも、管理する人や運営する人はその都度異なるので、エントリー以外のところに位置情報があれば、もっとスマートに処理できるのではないかなと思った次第です。

とは言え、私も今やっている案件の位置情報は、エントリーの位置情報だけで足りてしまうので、それぞれこういうところで使うとよいのではないかなというのをまとめてみました。

エントリーの位置情報(エントリー位置リスト Entry_GeoList)

管理・更新する人が少なく、権限をルートブログに集約できる場合

一般的な使い方で、例えばいろんな店舗が掲載されていたとしても、その店舗からは更新しないような場合です。

ブログの位置情報(ブログ位置リスト Blog_GeoList)

スポットごとにブログがあるような場合に使います。子ブログに位置情報を持たせて、そのブログ情報を並べます。


ブログ位置リストを使った場合の構造図

ブログに位置情報を持たせるので、エントリーがすっきり

ブログの記事にはイベント情報などで位置情報を持たせたいこともあるはずです。エントリーの位置情報とスポット情報を分ければ整理しやすいはずです。

ブログ位置リストを使うメリットとしては、権限が分けやすいことです。各スポットに複数のユーザーを充てられるので、店長クラスとアルバイトクラスで異なる権限を与えるのも簡単です。

a-blog cmsの場合、子ブログを含めた横断検索は標準機能ですので、店舗検索なんかも簡単に作れますね。

### カテゴリーの位置情報(カテゴリー位置リスト Category_GeoList)

権限をあまり考えなくてよいのなら、カテゴリー位置リストを使っても大丈夫です。

使い方としてはスポットごとにカテゴリーを分けて、それぞれに新着情報を付けたいような場合でしょうか。


カテゴリー位置リストを使った場合の構造図

スポットの位置情報をカテゴリーに持たせた場合。ユーザーの権限が必要なければこれで十分

みたいな構造がいいかなと思います。

カテゴリーの位置情報ってどう使うんだろうと思ってたけど、あれこれ考えるうちにかなり使えそうな気がしてきました。

ユーザーの位置情報(ユーザー位置リスト User_GeoList)

位置とユーザー数が1:1(更新するのはユーザー情報だけで、1アカウントだけ与えれば十分な場合)であれば、ユーザー位置リストを使ってもよいと思います。

単純に近くの人を探すとか、個人でやってる人を検索するサイト(先生を探すようなやつ)で、それぞれのユーザーはエントリーを必要としないという場合に使えますね。ちょっとしたお知らせくらいなら、ユーザーのカスタムフィールドで十分です。

位置リストはエントリーサマリーの親戚です

まだ実案件ではエントリー位置リスト以外のものには出会っていないんですけど、こんな感じでいろいろなサイトに使えそうだなと思ってます。

位置リストのモジュールはエントリーサマリーとかを使える人なら、誰でも使うことができます。一番簡単で高度な機能と言えると思います。使い方もアイディア次第で他のCMSではできないことが楽にできるので、ぜひいろんな人が使っているのを見たいと思っています。

そういえば、a-blog cms awardsという事例コンテストも開催するとのことなので、おもしろい事例が見れそうで楽しみにしています。