Doorkeeper
ニュース

イベントページにおける地図表示の変更について

2018-07-26(木)

Doorkeeperで作成したイベントページには、イベント会場の地図が表示されています。Googleマップにおける仕様変更に伴い、今後、Doorkeeperのイベントページ上での地図の表示も少し変わり、地図上のピンが会場の名前と住所に基づいて自動で表示されるようになります。今回のGoogleマップの仕様変更により、以前は可能だったピンの位置の手動調整が、ご利用いただけなくなります。

Googleマップにおける場所の自動探知は、ほとんどの場合は機能するものの、会場場所を特定できないこともあります。その場合、地図上にピンが表示されませんので、イベントページ作成時には、地図が正しく表示されているかを十分確認してください。もし、地図が正しく表示されていない場合には、こちらを参照し、調整をお願いいたします。主催者の皆さまには、これまで以上に地図の表示の確認をお願いすることになり、ご不便をおかけし申し訳ありません。

地図表示変更の理由

今回、私たちがなぜこのような対応をするに至ったか、詳しい説明をさせていただきます。Doorkeeperがソフトウェア開発にどのように取り組んでいるか、ご関心がありましたら、ぜひご一読ください。

背景

Doorkeeperのイベントページで地図を表示し始めた際、Googleマップの採用は理にかなった選択でした。というのは、当時(2011年ごろ)、私たちが知る限りでは、簡単に使えて日本で充実したサポートを提供していた唯一の地図アプリがGoogleマップだったからです。加えて、無料で利用できることから、採用の決断も早く、簡単でした。

今年5月、Googleから価格改定が発表されました。私たちが使っていた統合方法は、無料ではなくなり、1,000件のリクエストに対して7ドルになるとの内容でした。Doorkeeperとしては、有料サービスを使うことに問題はありません。もし、我々がGoogleマップの拡張機能を大いに活用できるのであれば、有料で利用する価値もあったと思います。しかし、Doorkeeperでは、イベント開催場所の地図を表示しているだけですので、料金を支払ってでも利用すべきだと考えられませんでした。

検討した対応案

5月の発表は、新しい価格が適用される約1ヶ月にありました。他の異なる案を検討したいと考えながらも、今回の変更に迅速に対応する必要がありました。

Google Maps Static Maps

Googleマップの新価格表では、Static Mapsは1,000件のリクエストに対して2ドルと、少し安く設定されていました。Static Mapsでは、主催者が地図上のピンの正しい位置を選択できるなど、以前とほぼ同様の動作が可能です。まず最初に、私たちはイベントページのダイナミックマップをStatic Mapsに変更し、ユーザーが地図を見るためlにページ下へスクロールした時にだけ地図が読み込まれるよう最適化をしました。

しかし、Static Mapsは、長期的に使用できる方法だとは思えませんでした。Static Mapsを使うための支払い額はかなり大きなコストとなり、Doorkeeperの価格帯と合致するとは言えません。例えば、人気の無料イベントがDoorkeeperで開催されることによって私たちが得られる利益よりも、Googleマップ利用のためのコストが上回る可能性も起こりえるからです。

その上、Static Mapsでは、携帯電話からデスクトップまでの複数のスクリーンサイズで、簡単に、きれいに表示することができませんでした。また、ダイナミックマップでは可能だった地図のズームやスクロールなどの双方向性にも欠けていました。

上記の理由から、別の案を検討することにしました。

OpenStreetMap

OpenStreetMapは、編集可能な無料の世界地図を作成するコラボレーションプロジェクトです。私たちはOpenStreetMapのアイディアが大好きで、また影響力のある日本のコミュニティも存在していることから、日本語のサポートも近年大きく改善されています。しかし、最終的に、OpenStreetMapの採用は見送ることにしました。

主な理由は、日本国内の住所に基づいて地図上のピンを簡単に表示してくれるGoogleマップから、たとえ一時的にでも、簡単に代替できる方法を見つけられなかったことです。正直に申し上げると、早く対応策を決めなければならないという限られた時間とリソースの中で検討しただけですので、簡単な解決策を見逃している可能性もあります。

OpenStreetMapの今後については、私たちもとても楽しみにしており、将来的に切り替えていくことを前向きに考えていきたいと思っています。

Google Maps Embed

Google Maps Embedを使うと、イベント参加者には以前とほぼ同じ使い方をしてもらうことができます。参加者本人のGoogleマップ上でイベント会場を簡単にブックマークできるなど、以前よりも快適に使ってもらえそうな点もあります。

Google Maps Embedの主なデメリットは、地図上のピンの正確な場所を特定する方法がないということでした。日本におけるGoogleマップのロケーションデータはそれほど精度が高くないので、これは重要なことだと感じていました。しかし、ここ数年で彼らのデータは非常に改善されており、現在では日本国内のほぼすべての会場の場所データを保有していることがわかりました。このことから、長い目で見ると、会場の自動探知機能だけをサポートすることも可能性の一つだと感じました。

今回のように、主催者の皆さんにイベントページの地図を十分確認してもらうようお願いするよりも、既存のイベントについては以前のままの方法を使い、新しいイベントを作成する際に、この新しい方法に移行してもらうことも検討しました。しかし、以下の理由により見送ることにしました。

一つ目の理由は、Googleマップでは場所をちゃんと探知できない場合、どこの場所も表示されないということを知り、地図が表示されないというデメリットがそれほど重大ではないように思えたからです。参加者は地図を見れませんが、間違った場所へ誘導されるということもありません。

次に、完全に後方互換性を保った方法でこれを実行しようとすると、開発リソースがもっと必要になる、というのが二つ目の理由です。必要以上に複雑さが追加されてしまうことから、新しいバグが発生しないかということに注意を払う必要が出てきます。また、過去のイベントをコピーして新しいイベントが作成された場合にどうなるか、などの移行経路も検討しなければなりません。後方互換性を保つ方法を試みるメリットがもっと大きければ、コストをかける価値があると判断したと思いますが、今回はそれに見合うメリットを見つけられませんでした。

Google Maps Embedには、もう一つデメリットがあります。それは、Googleが地図上に広告を表示する権利を有したままだということです。Doorkeeperでは、自分たちのイベントに参加者を集めるという主催者のゴールのためだけにイベントページを設けており、そのためページ上には広告や他の営業目的の表示は一切載せていません。Googleマップでは今のところ、広告は掲載されていないようですが、将来的に変わっていく可能性はあります。その場合、私たちは地図表示について、もう一度検討する必要性が生じてきます。

しかしながら、短期的に見ると、Google Maps Embedが我々が現時点で対応できる最善の方法だと考えました。この決定に基づき、彼らから提供された場所検索のための一般的な項目の中から、Doorkeeperでの地図の住所検索に使う項目を知らせる必要がありました。検討の結果、会場名、会場の住所、そしてその両方の組み合わせをDoorkeeperでは使うことにしました。

会場名だけだと、不明瞭な地図表示となることが多かったため、断念しました。

住所だけにすると、たいていの場合は場所を探知することができました。しかし、この場合、住所に「7階」と記載があった場合に地図上に「7F」と表示されたり、同じ住所にある別の会社の名前が表示されたりと、地図上に会場名がきれいに表示されません。

会場名と住所を組み合わせた場合、場所も不明瞭ではなく、会場に合致した会場名が地図上に表示され、検索結果が最もきれいに表示されました。
とはいえ、Googleが場所を全く特定できないケースや、住所だけで問題なく表示されたケースもありました。しかし、主催者側で会場名・会場住所の項目の入力内容を調節してもらうことで、これらの問題は解決されうることから、対応可能な範囲で最もきれいに地図表示ができるこの方法を採用することに決定しました。

ご意見をお聞かせください

長い記事にも関わらず、最後まで読んでくださりありがとうございます。今回の私たちの決定に至る詳しい背景や説明はいかがでしたでしょうか。私たちが見過ごしていた他の方法など、ご提案やご意見はありませんか?もしあれば、このページにコメントを残すか、お問い合わせフォームからぜひお知らせください。