Free Word Search
この章では目的地を設定するためにフリーワードにより施設を検索(フリーワード検索)するための方法を紹介します。
おおまかな処理の流れ
フリーワード検索の処理の流れは以下の通りです。
SearchJP.FreewordSearchRequest
のインスタンスを生成します。- 検索したいワードを設定します。
- 検索したい場所の緯度経度、半径(指定しない場合は全国が対象)を設定します。
- 設定済みの
SearchJP.FreewordSearchRequest
オブジェクトを引数に、SearchJP.search()
を呼び出します。 - 検索が完了すると、Listenerにて検索結果が通知されます。これで検索完了です。
SearchJP.FreewordSearchRequest request = new SearchJP.FreewordSearchRequest();
request.setKeyword("都庁");
GeoCoordinate position = new GeoCoordinate(35.689595, 139.692221);
request.setPosition(position);
SearchJP.getInstance().search(request, new SearchJP.SearchResultListener() {
@Override
public void onCompleted(SearchJP.ErrorCode errorCode, SearchJP.SearchResult searchResult) {
// searchResultに検索結果が格納されています
}
});
高度な検索
ソート順を指定する
SearchJP.FreewordSearchRequest.SortType
で検索結果のソート順を指定することができます。
指定可能なソート順は以下の通りです。
- RECOMMENDED(おすすめ順)
- DISTANCE(距離順)
複数ワード検索
フリーワード検索では複数のワードを空白で区切ることでAND検索を行うことができます。
例:パイオニア カーナビ
ジャンル検索との組み合わせ
SearchJP.FreewordSearchRequest
でワードに加えてジャンルキーを設定することでワードとジャンルのAND検索を行うことができます。ジャンルキーの取得方法についてはGenre Searchを参照して下さい。
駐車場満空情報を取得する
検索結果に駐車場が含まれる場合、その駐車場の混雑(満空)情報を取得することができます。
SearchJP.FreewordSearchRequest.Extensions
のインスタンスを生成します。- 検索したいワードを設定します。
- 検索したい場所の緯度経度、半径(指定しない場合は全国が対象)を設定します。
- 設定済みの
SearchJP.FreewordSearchRequest.Extensions
オブジェクトの、setParkingAvailabilityFlag
を引数true
で呼び出します。 - 生成したインスタンスを
SearchJP.FreewordSearchRequest
のsetExtentions()
でリクエストに設定します
SearchJP.FreewordSearchRequest request = new SearchJP.FreewordSearchRequest();
SearchJP.FreewordSearchRequest.Extensions extensions = new SearchJP.FreewordSearchRequest.Extensions();
extensions.setParkingAvailabilityFlag(true);
request.setExtensions(extensions);
設定したリクエストを引数に、SearchJP.search()
を呼び出すことで駐車場の混雑情報を取得することができます。取得可能な混雑情報は以下の通りです。
ParkingStatus | 意味 |
---|---|
UNKNOWN | 未定 |
EMPTY | 空車 |
CONGESTION | 混雑 |
FULL | 満車 |
OTHER | その他 |
駐車場入口
検索した施設には駐車場の入口情報が設定されている場合があります。この駐車場の入口情報をルート探索時にすることで適切な駐車場入口に案内するルートを探索することができます。
Note:
検索結果の駐車場入口情報をルート探索時に使用するためにはCommon.convertGuidePointToParkingEntrance()
関数でSearchJP.GuidePoint
型からParkingEntrance
に変換する必要があります。
詳しくはNew Routeを参照して下さい。