Autocompleteでのレンダリング結果に使用する言語の決定方法
このチュートリアルで /autocomplete
は、ジオコード エンドポイントが、住所または管理領域の一部にテキスト条件を一致させることで、入力テキストをどのように完了しようとするかについて説明します。
プロシージャ
/autocomplete
エンドポイントは、一致する名前のバリエーションに基づいてクエリー言語を検出し、そのレスポンスに同じ言語を選択します。 したがって、エンドユーザーは、クエリと同じ言語ですべての入力用語を参照および認識できます。 全体的なレスポンス言語は一貫しています。
各結果/autocomplete
には、使用するユーザー言語の言語フィールドが含まれます。 値は lang
クエリ パラメータで指定されたものと同じか、クライアント アプリケーションがパラメータを提供しなかった場合は、入力クエリから /autocomplete
で識別された言語になります。
マップ データに複数のバリエーションがある言語の場合、 2 文字の言語コードがマップ データで拡張されます。 たとえば *-Latn
、言語のトランスレートされた形式の場合に使用します。
次の例では、ギリシャの都市アテネを検索しています。 ユーザーが市区町村名を英語で入力します。
GET https://autocomplete.search.hereapi.com/v1/
autocomplete
?q=Athens
&limit=1
&apiKey={YOUR_API_KEY}
次のパラメータが使用されます。
- Q - フリーテキストのクエリを入力します。
- Limit :返される結果の最大数
- apiKey - お客様の API キー 。
注
この要求は API キー 認証を使用します。 HERE platform の認証オプションの詳細については、『ID およびアクセス管理ガイド』を参照してください。
/autocomplete
エンドポイントは、結果を英語で返します。一部のアドレスコンポーネントでは英語が使用できない場合は、ギリシャ語名のラテン文字変換で返します。
{
"items": [
{
"title": "Greece, Athens",
"id": "here:cm:namedplace:20493491",
"language": "en",
"resultType": "locality",
"localityType": "city",
"address": {
"label": "Athens, Attiki, Greece",
"countryCode": "GRC",
"countryName": "Greece",
"state": "Attiki",
"county": "Attiki",
"city": "Athens"
},
"highlights": {
"title": [
{
"start": 8,
"end": 14
}
],
"address": {
"label": [
{
"start": 0,
"end": 6
}
],
"city": [
{
"start": 0,
"end": 6
}
]
}
}
}
]
}
/autocomplete
は、結果アイテムの言語を en
-english に設定します。
lang
クエリ パラメーターを使用すると、クライアントアプリケーションで優先レスポンス言語を指定できます。 この優先レスポンス言語が 、特定されたクエリー入力言語と異なる場合、/autocomplete
で一致するすべてのアドレスフィールドは、クエリーと同じ言語で返されます。 これにより、ユーザーは結果が入力とどのように一致するかを認識できます。 /autocomplete
は、マップの内容に含まれている場合、パラメータlang
で指定された言語で残りのすべての住所フィールドを返します。
この場合 /autocomplete
language
lang
、クエリ パラメーターで指定されたものと同じフィールドが返され、エンドユーザーの設定が反映されます。
次の例では、 Athens の住所検索で、ギリシャ語の翻訳形式で住所を入力しますが、適切な回答言語として英語を指定します。
GET https://autocomplete.search.hereapi.com/v1/
autocomplete
?q=Athina+Stad
&lang=en-US
&apiKey={YOUR_API_KEY}
/autocomplete
エンドポイントは、一致するフィールドをクエリー内のギリシャ語言語の変換された形式で返します。これにより、ユーザはレスポンス内でそれらのフィールドを参照して認識できます。 ただし、その他のすべての住所要素は英語で返されます。 /autocomplete
は、en
- 英語への応答内の結果項目のlanguage
フィールドを設定します。
{
"items": [
{
"title": "Greece, Athina, Stadiou",
"id": "here:af:street:REUzIIKJcWI.MEQiDuUVBA",
"language": "en",
"resultType": "street",
"address": {
"label": "Stadiou, 105 51 Athina, Greece",
"countryCode": "GRC",
"countryName": "Greece",
"state": "Attiki",
"county": "Attiki",
"city": "Athina",
"street": "Stadiou",
"postalCode": "105 51"
},
"highlights": {
"title": [
{
"start": 8,
"end": 14
},
{
"start": 16,
"end": 20
}
],
"address": {
"label": [
{
"start": 0,
"end": 4
},
{
"start": 16,
"end": 22
}
],
"city": [
{
"start": 0,
"end": 6
}
],
"street": [
{
"start": 0,
"end": 4
}
]
}
}
}
]
}
入力テキストの用語が複数の言語と一致する場合 、/autocomplete
エンドポイントは パラメータlang
で指定された優先言語でそれらの用語を返します。 2 番目の設定は、国のデフォルトまたはプライマリの地域言語です。
次の例では、 Berli
ドイツ語やイタリア語を含む複数の言語に一致します。 顧客のアプリケーションが、希望するレスポンス言語としてイタリア料理を指定しました。
GET https://autocomplete.search.hereapi.com/v1/
autocomplete
?q=Berli
&lang=it-IT
&limit=1
&apiKey={YOUR_API_KEY}
/autocomplete
エンドポイントは、結果をイタリア料理で返します。 は /autocomplete
language
、結果の項目のフィールドを it
、イタリア語のレスポンスでも設定します。
{
"items": [
{
"title": "Germania, 10117, Berlino",
"id": "here:cm:namedplace:20187403",
"language": "it",
"resultType": "locality",
"localityType": "city",
"address": {
"label": "Berlino, Germania",
"countryCode": "DEU",
"countryName": "Germania",
"stateCode": "BE",
"state": "Berlino",
"countyCode": "B",
"county": "Berlino",
"city": "Berlino",
"postalCode": "10117"
},
"highlights": {
"title": [
{
"start": 17,
"end": 22
}
],
"address": {
"label": [
{
"start": 0,
"end": 5
}
],
"city": [
{
"start": 0,
"end": 5
}
]
}
}
}
]
}
顧客のアプリケーションで パラメータlang
が指定されていない場合 、/autocomplete
は結果をデフォルトの言語(この例ではドイツ語)で戻します。
/autocomplete
パラメータの詳細については、次のトピックを参照してください。 API リファレンス。