ガイドAPIリファレンス変更履歴
ガイド

結果を特定のタイプに限定する

結果を特定のタイプに限定する

このチュートリアルでは、/autocomplete エンドポイントの任意パラメーター types について説明します。このパラメーターを使用すると、結果を特定のタイプに限定できます。結果タイプでは、次のオプションに基づいて特定の結果を取得できます。

  • city
  • postalCode
  • area

手順

/autocomplete エンドポイントには任意パラメーター types があり、結果を特定のタイプに限定できます。

次のリストでは /autocomplete エンドポイントでサポートされている結果タイプ フィルターの値を示しています。

  • city - resultTypelocalitylocalityTypecity に結果を限定します。
  • postalCode - resultTypelocalitylocalityTypepostalCode に結果を限定します。なお、結果タイプ フィルター postalCode はドイツなどの通常の郵便番号、またはアメリカの郵便番号のみを対象とします。ZIP+4 拡張コードがある英国またはアメリカの郵便番号など、「高精度」の郵便番号の場合は resultTypepostalCodePoint となり、postalCode 結果タイプ フィルターには含まれません。
  • area - すべてのサブタイプを含む locality または administrativeArea の結果タイプに結果を限定します。

例として、国を DEU に限定したクエリ Alexand を見てみましょう。

結果タイプの制限がない場合、/autocomplete エンドポイントは streetlocality などのさまざまなタイプの結果を返します。

GET https://autocomplete.search.hereapi.com/v1/
    autocomplete
    ?q=Alexand
    &in=countryCode%3ADEU
    &limit=2
    &apiKey={YOUR_API_KEY}

次のパラメーターを使用します。

  • q - 名前を入力します。
  • In - 地理的エリア内を検索します。結果が指定したエリア内にある場合、結果が返されます。
  • limit - 返される結果の最大数。
  • apiKey - APIキー。
📘

このリクエストはAPIキー認証を使用します。HEREプラットフォームの認証オプションの詳細については、「Identity & Access Management Guide」(IDとアクセス管理ガイド)を参照してください。

最初の2つの結果はベルリンのstreetタイプです。

{
  "items": [
    {
      "title": "Deutschland, Berlin, Alexanderstraße",
      "id": "here:af:street:nJn6GSK6GnY2ogUvJEbxgC",
      "language": "de",
      "resultType": "street",
      "address": {
        "label": "Alexanderstraße, 10178 Berlin, Deutschland",
        "countryCode": "DEU",
        "countryName": "Deutschland",
        "stateCode": "BE",
        "state": "Berlin",
        "countyCode": "B",
        "county": "Berlin",
        "city": "Berlin",
        "district": "Mitte",
        "street": "Alexanderstraße",
        "postalCode": "10178"
      },
      "highlights": {
        "title": [
          {
            "start": 21,
            "end": 28
          }
        ],
        "address": {
          "label": [
            {
              "start": 0,
              "end": 7
            }
          ],
          "street": [
            {
              "start": 0,
              "end": 7
            }
          ]
        }
      }
    },
    {
      "title": "Deutschland, Berlin, Tunnel Alexanderplatz",
      "id": "here:af:street:8D.iFHvj6zgTiCN1V583EC",
      "language": "de",
      "resultType": "street",
      "address": {
        "label": "Tunnel Alexanderplatz, 10178 Berlin, Deutschland",
        "countryCode": "DEU",
        "countryName": "Deutschland",
        "stateCode": "BE",
        "state": "Berlin",
        "countyCode": "B",
        "county": "Berlin",
        "city": "Berlin",
        "district": "Mitte",
        "street": "Tunnel Alexanderplatz",
        "postalCode": "10178"
      },
      "highlights": {
        "title": [
          {
            "start": 28,
            "end": 35
          }
        ],
        "address": {
          "label": [
            {
              "start": 7,
              "end": 14
            }
          ],
          "street": [
            {
              "start": 7,
              "end": 14
            }
          ]
        }
      }
    }
  ]
}

エンド ユーザーが道路または住所の結果に関心がない場合、顧客アプリケーションは結果タイプを area に制限できます。

GET https://autocomplete.search.hereapi.com/v1/
    autocomplete
    ?q=Alexand
    &in=countryCode%3ADEU
    &limit=2
    &types=area
    &apiKey={YOUR_API_KEY}

最初の結果はオルデンブルクの地区で、2 つ目の結果はバイエルンの小さな町です。

{
  "items": [
    {
      "title": "Deutschland, 26127, Oldenburg (Oldb.), Alexandersfeld",
      "id": "here:cm:namedplace:20155909",
      "language": "de",
      "resultType": "locality",
      "localityType": "district",
      "address": {
        "label": "Alexandersfeld, Oldenburg (Oldb.), Niedersachsen, Deutschland",
        "countryCode": "DEU",
        "countryName": "Deutschland",
        "stateCode": "NI",
        "state": "Niedersachsen",
        "countyCode": "OL",
        "county": "Oldenburg (Oldb.)",
        "city": "Oldenburg (Oldb.)",
        "district": "Alexandersfeld",
        "postalCode": "26127"
      },
      "highlights": {
        "title": [
          {
            "start": 39,
            "end": 46
          }
        ],
        "address": {
          "label": [
            {
              "start": 0,
              "end": 7
            }
          ],
          "district": [
            {
              "start": 0,
              "end": 7
            }
          ]
        }
      }
    },
    {
      "title": "Deutschland, 95680, Bad Alexandersbad",
      "id": "here:cm:namedplace:20182868",
      "language": "de",
      "resultType": "locality",
      "localityType": "city",
      "address": {
        "label": "Bad Alexandersbad, Bayern, Deutschland",
        "countryCode": "DEU",
        "countryName": "Deutschland",
        "stateCode": "BY",
        "state": "Bayern",
        "countyCode": "WUN",
        "county": "Wunsiedel im Fichtelgebirge",
        "city": "Bad Alexandersbad",
        "postalCode": "95680"
      },
      "highlights": {
        "title": [
          {
            "start": 24,
            "end": 31
          }
        ],
        "address": {
          "label": [
            {
              "start": 4,
              "end": 11
            }
          ],
          "city": [
            {
              "start": 4,
              "end": 11
            }
          ]
        }
      }
    }
  ]
}

エンド ユーザーが市区町村のみを求めている場合、顧客アプリケーションは結果タイプを area ではなく city のみに制限できます。

GET https://autocomplete.search.hereapi.com/v1/
    autocomplete
    ?q=Alexand
    &in=countryCode%3ADEU
    &limit=2
    &types=city
    &apiKey={YOUR_API_KEY}

/autocomplete エンドポイントはバイエルンの小さな町のみを返すようになります。

{
  "items": [
    {
      "title": "Deutschland, 95680, Bad Alexandersbad",
      "id": "here:cm:namedplace:20182868",
      "language": "de",
      "resultType": "locality",
      "localityType": "city",
      "address": {
        "label": "Bad Alexandersbad, Bayern, Deutschland",
        "countryCode": "DEU",
        "countryName": "Deutschland",
        "stateCode": "BY",
        "state": "Bayern",
        "countyCode": "WUN",
        "county": "Wunsiedel im Fichtelgebirge",
        "city": "Bad Alexandersbad",
        "postalCode": "95680"
      },
      "highlights": {
        "title": [
          {
            "start": 24,
            "end": 31
          }
        ],
        "address": {
          "label": [
            {
              "start": 4,
              "end": 11
            }
          ],
          "city": [
            {
              "start": 4,
              "end": 11
            }
          ]
        }
      }
    }
  ]
}

types=postalCode の場合、/autocomplete エンドポイントでは入力として完全または部分的な郵便番号が必要です。types=postalCode を設定したクエリ Alexand では、結果は返されません。

追加情報

/autocompleteエンドポイントパラメーターの詳細については、「APIリファレンス」を参照してください。

さまざまなエンドポイントによるtypesフィルターのサポートの概要については、次を参照してください:結果をタイプでフィルタリングする