自動入力 - Amazon Location Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

自動入力

オートコンプリートは、エンドユーザーが検索クエリを入力しているときに、応答性の高いフィードバックを提供します。部分的またはスペルミスのある自由形式のテキストに基づいて、住所および対象となるポイントの候補を生成する許可を付与 プレースインデックスリソースを使用してオートコンプリート候補を要求し、その結果の候補をアプリケーションに表示することができます。

Amazon Location では、オートコンプリート候補の保存はサポートされていません。オートコンプリート呼び出しに使用される場所インデックスが、保存されたジオコードで使用するように設定されている場合、エラーが返されます。保存されたジオコードを使用して候補を検索するには、複数のプレイスインデックスを作成して設定します。

このセクションでは、自動入力リクエストを送信する方法について説明します。リクエストの最も基本的な形式から始まり、オートコンプリート検索結果の関連性を高めるために使用できるオプションのパラメータが表示されます。

オートコンプリートの使用

オートコンプリート候補の簡単なリクエストを送信するには、SearchPlaceIndexForSuggestionsオペレーションを使用します。リクエストの最も単純な形式には、クエリTextという必須パラメータが 1 つあります:

  • Text— 場所の候補を生成するために使用するフリーフォームの部分テキスト。たとえば、文字列eiffel tow

返される結果の数を制限するには、オプションのMaxResultsパラメータを追加します。

  • MaxResults— クエリレスポンスで返される結果の数を制限します。

Amazon Location API また AWS CLIの使用ができます。

API

次の例は、場所インデックスリソース を検索しExamplePlaceIndex、部分的な場所名 kamp に基づいて最大 5 つの候補を検索するSearchPlaceIndexForSuggestionsリクエストです。

POST /places/v0/indexes/ExamplePlaceIndex/search/suggestions Content-type: application/json { "Text": "kamp", "MaxResults": 5 }
AWS CLI

次の例は、場所インデックスリソース を検索しExamplePlaceIndex、部分的な場所名 kamp に基づいて最大 5 つの候補を検索するsearch-place-index-for-suggestionsコマンドです。

aws location \ search-place-index-for-suggestions \ --index-name ExamplePlaceIndex \ --text kamp \ --max-results 5

SearchPlaceIndexForSuggestionsを呼び出すと、それぞれの場所の名前と ID を含む場所のリストが生成されます。これらの結果を使用して、テキストボックスの下に選択肢のドロップダウンリストの表示や、ユーザーが入力するときに検索内容の候補の表示などができます。例えば、ユーザーが kamp と入力した場合のサジェスト結果は以下の通りです。

{ "Summary": { "Text": "kamp", "MaxResults": 5, "DataSource": "Esri" }, "Results": [ { "Text": "Kampuchea", "PlaceId": "AQAAAIAADsn2T3KdrRWeaXLeVEyjNx_JfeTsMB0NVCEAnAZoJ-o3nqdlJZAdgcT2oWi1w9pS4wXXOk3O1vsKlGsPyHjV4EJxsu289i3hVO_BUPgP7SFoWAi8BW2v7LvAjQ5NfUPy7a1v9ajT3feIqcUZszWSTqKbJHFYvQqW7wdqhpQq3Wy-et39ZQDWSPLZUzgcjN-6VD2gyKkH0Po7gSm8YSJNSQ" }, { "Text": "Kampoul, Kabul, AFG", "PlaceId": "AQAAAIAAA1mxl_-9ffzXD07rBgo9fh6E01Pd1YKvuT5rz2qBDxqBkhTlgkeiOPR2s5sa3YBLxUqQI8bhymsYcu9R-DkX3L9QSi3CB5LhNPu160iSFJo6H8S1CrxO3QsJALhrr9mdbg0R4R4YDywkhkeBlnbn7g5C5LI_wYx873WeQZuilwtsGm8jcMA0Ya5oK4netQC6piVx6zmnPdwBs-UeXcb_bg" }, { "Text": "Kampala, UGA", "PlaceId": "AQAAAIAAzZfZt3qMruKGObyhP6MM0pqy2L8SULlVWT7a3ertLBRS6Q5n7I4s9D7E0nRHADAj7mL7kvX1Q8HD-mpuiATXNJ1Ix4_V_1B15zHe8jlYKMWvXbgbO8cMpgR2fqYqZMR1x-dfBOO8OoqujKZldvPIDK1kNe3GwcaqvvMWWPMeaGd203brFynubAe-MmFF-Gjz-WBMfUy9og6MV7bkk6NGCA" }, { "Text": "Kampar, Riau, IDN", "PlaceId": "AQAAAIAAvbXXx-srOi111tHOkPdao0GF7WQ_KaZ444SEnevycp6Gtf_2JWgPfCE5bIQCYwya1uZQpX2a8YJoFm2K7Col4fLu7IK0yYOLhZx4kp6QzbG4xEAGzfWtWq6nfbb0lZfuHY6r0g1sRlN1aucvwim4AEcKRzckqaa93JI8064pj6Q59kN37pAa3JX4ayEzH1DzIL3m3oqxzd4O16yGfhAIgA" }, { "Text": "Kampung Pasir Gudang Baru, Johor, MYS", "PlaceId": "AQAAAIAA4HLQHdjUDcaaXLE9wtNIT1cjQYLgkBnMoG2eNN0AaQ8PJoWabLRXmmPUaAj8MAD6vT0i6zqaun5Mixyj7vnYXrk2xp59cbgdqvQaPoWhSCVxBOX0WGs3cZ8TnIRn3c-6v8_UfmqC7es1gUyECfMGK04VBKiwpHwCzjNsqymkd9BC3A9K3QlMgd3dkrGjv_vV94iLlnFTbaecrckl2UDCkA" } ] }

次のセクションでは、これらの結果から導き出された PlaceID の使い方を説明します。

自動入力結果の使用

SearchPlaceIndexForSuggestionsを呼び出すと、それぞれの場所の名前と ID を含む場所のリストが生成されます。これらの結果を使用して、テキストボックスの下に選択肢のドロップダウンリストの表示や、ユーザーが入力するときに検索内容の候補の表示などができます。ユーザーがいずれかの結果を選択したら、選択した ID で GetPlaceオペレーションを呼び出して、場所、住所、その他の詳細など、その場所の詳細を返します。

注記

PlaceId は、元の検索リクエストとGetPlaceへの呼び出しにおいて、以下のすべてが同じ場合にのみ有効です。

  • お客様 AWS アカウント

  • AWS リージョン

  • 場所インデックスリソースで指定されているデータプロバイダー

通常、 GetPlace は Amazon Location API と一緒に使います。次の例は、前のセクションの提案の 1 つを見つけるためのGetPlaceリクエストです。この例は kamp という地名の一部に基づいています。

POST /places/v0/indexes/ExamplePlaceIndex/places/AQAAAIAADsn2T3KdrRWeaXLeVEyjNx_JfeTsMB0NVCEAnAZoJ-o3nqdlJZAdgcT2oWi1w9pS4wXXOk3O1vsKlGsPyHjV4EJxsu289i3hVO_BUPgP7SFoWAi8BW2v7LvAjQ5NfUPy7a1v9ajT3feIqcUZszWSTqKbJHFYvQqW7wdqhpQq3Wy-et39ZQDWSPLZUzgcjN-6VD2gyKkH0Po7gSm8YSJNSQ

ある位置の近くでオートコンプリート

SearchPlaceIndexForSuggestionsを使用してオートコンプリート候補を検索する場合、次のオプションパラメータを追加すると、より地域に適した候補が表示されます。

  • BiasPosition— 付近で検索したい位置。[longitude, latitude]と定義されています。

次の例では、 SearchPlaceIndexForSuggestionsリクエストを使用して場所インデックスリソースを検索し、位置 [32.58270.3169] の近くにある部分クエリ kamp に一致する場所候補ExamplePlaceIndexを探します。

POST /places/v0/indexes/ExamplePlaceIndex/search/suggestions Content-type: application/json { "Text": "kamp", "BiasPosition": [32.5827,0.3169] }

-96.7977, 32.7776のように、異なるものが選択された場合、同じ Text に対して返されるサジェストは異なる BiasPosition になる可能性があります。

バウンディングボックス内の自動入力

次のオプションパラメータを追加することで、オートコンプリート検索を絞り込んで、特定の境界内にある場所の候補のみが表示されるようにすることができます。

  • FilterBBox— 検索結果をバウンディングボックス内の座標に絞り込むために指定するバウンディングボックス。[LongitudeSW, LatitudeSW, LongitudeNE, LatitudeNE]と定義されます。

    注記

    リクエストはFilterBBoxBiasPositionの両方のパラメーターを含むことはできません。リクエストで両方のパラメータを指定するとValidationExceptionエラーが返されます。

次の例では、 SearchPlaceIndexForSuggestionsリクエストを使用して場所インデックスリソースを検索し、部分クエリ kamp に一致する場所候補と、境界ボックスに含まれる場所候補ExamplePlaceIndexを検索します。

  • バウンディングボックスの南西の角の経度は 32.5020 です。

  • バウンディングボックスの南西の角の緯度は 0.2678 です。

  • バウンディングボックスの北東の角の経度は 32.6129 です。

  • バウンディングボックスの北東の角の緯度は 0.3502 です。

POST /places/v0/indexes/ExamplePlaceIndex/search/suggestions Content-type: application/json { "Text": "kamp", "FilterBBox": [ 32.5020, 0.2678, 32.6129, 0.3502 ] }

-97.9651, 32.0640, -95.1196, 34.0436 のように、異なるものが選択された場合、同じ Text に対して返されるサジェストは異なる FilterBBox になる可能性があります。

国内でのオートコンプリート

次のオプションパラメータを追加することで、オートコンプリート検索を絞り込んで、特定の境界内にある場所の候補のみが表示されるようにすることができます。

  • FilterCountries— 検索したい国の候補が表示されます。ISO 3166 の 3 文字の国コードを使用すると、1 回のリクエストで最大 100 か国を指定することができます。たとえば、オーストラリアではAUSです。

次の例では、 SearchPlaceIndexForSuggestionsリクエストを使用して場所インデックスリソースを検索し、部分クエリ kamp に一致し、ウンダ、ケニア、またはタガニアに含まれる場所候補ExamplePlaceIndexを探します。

POST /places/v0/indexes/ExamplePlaceIndex/search/suggestions Content-type: application/json { "Text": "kamp", "FilterCountries": ["UGA", "KEN", "TZA"] }

同じTextに対して返される候補は、USAのように異なるリストが選択された場合、異なるFilterCountriesとなる。

レスポンスの例

以下は、「kamp」というテキストを使用したSearchPlaceIndexForSuggestionsオペレーションのオートコンプリート候補のレスポンス例です。

{ "Summary": { "Text": "kamp", "MaxResults": 5, "DataSource": "Esri" }, "Results": [ { "Text": "Kampuchea", "PlaceId": "AQAAAIAADsn2T3KdrRWeaXLeVEyjNx_JfeTsMB0NVCEAnAZoJ-o3nqdlJZAdgcT2oWi1w9pS4wXXOk3O1vsKlGsPyHjV4EJxsu289i3hVO_BUPgP7SFoWAi8BW2v7LvAjQ5NfUPy7a1v9ajT3feIqcUZszWSTqKbJHFYvQqW7wdqhpQq3Wy-et39ZQDWSPLZUzgcjN-6VD2gyKkH0Po7gSm8YSJNSQ" }, { "Text": "Kampoul, Kabul, AFG", "PlaceId": "AQAAAIAAA1mxl_-9ffzXD07rBgo9fh6E01Pd1YKvuT5rz2qBDxqBkhTlgkeiOPR2s5sa3YBLxUqQI8bhymsYcu9R-DkX3L9QSi3CB5LhNPu160iSFJo6H8S1CrxO3QsJALhrr9mdbg0R4R4YDywkhkeBlnbn7g5C5LI_wYx873WeQZuilwtsGm8jcMA0Ya5oK4netQC6piVx6zmnPdwBs-UeXcb_bg" }, { "Text": "Kampala, UGA", "PlaceId": "AQAAAIAAzZfZt3qMruKGObyhP6MM0pqy2L8SULlVWT7a3ertLBRS6Q5n7I4s9D7E0nRHADAj7mL7kvX1Q8HD-mpuiATXNJ1Ix4_V_1B15zHe8jlYKMWvXbgbO8cMpgR2fqYqZMR1x-dfBOO8OoqujKZldvPIDK1kNe3GwcaqvvMWWPMeaGd203brFynubAe-MmFF-Gjz-WBMfUy9og6MV7bkk6NGCA" }, { "Text": "Kampar, Riau, IDN", "PlaceId": "AQAAAIAAvbXXx-srOi111tHOkPdao0GF7WQ_KaZ444SEnevycp6Gtf_2JWgPfCE5bIQCYwya1uZQpX2a8YJoFm2K7Col4fLu7IK0yYOLhZx4kp6QzbG4xEAGzfWtWq6nfbb0lZfuHY6r0g1sRlN1aucvwim4AEcKRzckqaa93JI8064pj6Q59kN37pAa3JX4ayEzH1DzIL3m3oqxzd4O16yGfhAIgA" }, { "Text": "Kampung Pasir Gudang Baru, Johor, MYS", "PlaceId": "AQAAAIAA4HLQHdjUDcaaXLE9wtNIT1cjQYLgkBnMoG2eNN0AaQ8PJoWabLRXmmPUaAj8MAD6vT0i6zqaun5Mixyj7vnYXrk2xp59cbgdqvQaPoWhSCVxBOX0WGs3cZ8TnIRn3c-6v8_UfmqC7es1gUyECfMGK04VBKiwpHwCzjNsqymkd9BC3A9K3QlMgd3dkrGjv_vV94iLlnFTbaecrckl2UDCkA" } ] }