見出し画像

駅近検索機能をリリースしました

スペースマーケットでEM(エンジニアリングマネージャー)をしている柿木(かきのき)です。

本記事はスペースマーケットのエンジニアメンバで運営しているマガジンへの投稿となります。

先週9日(木)に、スペース検索画面のリニューアルを行いました。本記事では、その中で今回新規に追加となった「駅近検索機能」について技術的な観点からご紹介をしたいと思います。

駅近検索機能とは

機能名の通りなのですが、スペース検索画面で「駅徒歩(最寄駅までの徒歩分数)」を検索条件として入力し、絞り込みを行うことができる機能です。

構成と処理の流れ

簡単な構成図で処理の流れを表しました。

無題のプレゼンテーション

① ホストダッシュボード画面で最寄駅情報の登録

画像2

ホストダッシュボード画面というホストが貸し出すスペースの情報を登録する画面にて、最寄駅の情報を登録します。

登録する最寄駅の情報は、「都道府県、路線名、駅名、移動手段(徒歩、バス、車)、移動時間」と入力項目が多いので、なるべく簡単に入力できるよう、自動で入力データがプリセットされるような仕組みとしています。

具体的には、以下の流れで動作するような仕組みとなっています。

【最寄駅情報の登録の仕組み】

1. まず、クライアントでホストユーザが住所情報を入力すると、Google Geocoding APIを利用して、緯度経度(ジオコード)を取得します。

2. 取得した緯度経度を元にサーバサイドに最寄駅情報をリクエストします。

3. 駅データJPから連携した駅データをリバースジオコーディング(経度緯度から駅を取得)します。取得する駅は登録スペースの1.2km圏内です。

4. 登録スペースを始点、取得した駅を終点として、Google Directions APIにリクエストを行い、各駅までの徒歩分数を取得します。

5. 3,4で取得した情報をレスポンスとしてまとめクライアントに返却します。

6. レスポンスを元に最寄駅の入力項目をプリセットします。

7. データを変更する必要がある場合は、変更し、保存します。

上記のような処理の流れとすることで、ほとんどの情報をホストユーザが手動で入力することなく、登録を行えるようにしました。

② 検索データの同期処理

弊社では、検索にelastic cloudを採用しており、検索用データを同期しています。この辺りの処理は既にプロダクトへ組み込まれていたので、最寄駅の徒歩分数のフィールドを追加するだけで簡単に実装することができました。

③ 検索画面から駅徒歩の検索条件を入力し、検索を行う

画像3

ゲストユーザが新規に追加された検索条件の「駅徒歩」に徒歩分数を入力(プルダウンから選択)することで、事前に登録された最寄駅情報をもとに検索を行います。

是非使ってみて欲しい

スペースマーケットは、ユニークなスペースの掲載も多く、移動に時間がかかってもそうしたスペースを使いたいというゲストユーザも多くいらっしゃいます。

一方、主要都市のスペース利用は、やはり電車・徒歩で移動し利用するケースが多いです。今までも駅名などを入力して駅近くのスペースを検索することもできましたが、「最寄駅までの徒歩時間」をより明確に入力して検索することができるようになったことで、利便性が大きく向上したと開発チームは思っています。

ゲストユーザには、是非今までの探し方に加えて新しい機能を利用してもらいたいです。また、ホストユーザには、是非自分のスペースが見つかりやすいよう最寄駅の情報登録を活用して頂きたいです。

PR

サーバサイドエンジニア募集しています。


この記事が気に入ったらサポートをしてみませんか?