Free Word Search

この章では目的地を設定するためにフリーワードにより施設を検索(フリーワード検索)するための方法を紹介します。

おおまかな処理の流れ

フリーワード検索の処理の流れは以下の通りです。

  1. SearchJP.FreewordSearchRequestのインスタンスを生成します。
    • 検索したいワードを設定します。
    • 検索したい場所の緯度経度、半径(指定しない場合は全国が対象)を設定します。
  2. 設定済みのSearchJP.FreewordSearchRequestオブジェクトを引数に、SearchJP.search()を呼び出します。
  3. 検索が完了すると、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を参照して下さい。

駐車場満空情報を取得する

検索結果に駐車場が含まれる場合、その駐車場の混雑(満空)情報を取得することができます。

  1. SearchJP.FreewordSearchRequest.Extensions のインスタンスを生成します。
    • 検索したいワードを設定します。
    • 検索したい場所の緯度経度、半径(指定しない場合は全国が対象)を設定します。
  2. 設定済みのSearchJP.FreewordSearchRequest.Extensionsオブジェクトの、setParkingAvailabilityFlagを引数trueで呼び出します。
  3. 生成したインスタンスをSearchJP.FreewordSearchRequestsetExtentions()でリクエストに設定します
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を参照して下さい。