境界線用データドリブン スタイル設定で Places API 群とジオコーディングを利用する

プラットフォームを選択: Android iOS JavaScript

Maps SDK for iOS で Places SDK for iOS と Geocoding API を使用して、地域を検索したり、場所の詳しい情報を取得したりすることができます。Places SDK for iOS と Geocoding API は、プレイス ID を取得できる便利で安定性の高いツールです。すでにプレイス ID を使用している場合、それらの ID を境界線用データドリブン スタイル設定に流用できます。

Places API と Geocoding API は、次の方法で Maps SDK for iOS のアプリに組み込むことができます。

  • Places SDK for iOS は、HTTP リクエストを使用して場所に関する情報を返します。
  • CLGeocoder クラスは、ユーザー入力から動的にジオコーディングとリバース ジオコーディングを実行できます。
  • Geocoding API を使用すると、既知の住所を静的にジオコーディングできます。

Places API を使用する

  • Places API Text Search は、「渋谷 ピザショップ」「表参道 靴店」「123 番地」といった文字列に対して、場所のセットについての情報を返します。テキスト文字列と、その時点で設定済みの地域バイアスをもとに、場所のリストを返すサービスです。

  • Places Autocomplete サービスを使用すると、ユーザーが地域を簡単に検索できるようになります。定義されたリージョン内の結果を表示するには、GMSAutocompleteFilterlocationRestriction を設定します。

地域の Place Details を取得する

  • 地域の Place Details データも有効です。たとえば、次のようなことができます。

    • 地名に基づいて境界線のプレイス ID を検索する。
    • 境界線にズームするビューポートを取得する。
    • 境界線の対象物タイプ(locality など)を取得する。
    • フォーマット済みの住所を取得する。米国であれば「地名、州、国」に変換されます(例: 「Kirkland, WA, USA」)。
    • 写真など、その他の便利なデータを取得する。

Geocoding API を使用する

  • Geocoding API を使用すると、住所、緯度と経度の座標、プレイス ID を地理座標に変換できます。また、その逆も可能です。次のような使用方法は、境界線用データドリブン スタイル設定との組み合わせに最適です。

    • ジオコーディングを使用して地域のビューポートを取得する。
    • ジオコーディングの呼び出しにコンポーネントのフィルタリングを適用して、行政区域 1 ~ 4、地域区分、または郵便番号のプレイス ID を取得する。
    • リバース ジオコーディングを使用して緯度と経度の座標でプレイス ID を取得する、または特定の場所にあるすべてのコンポーネントのプレイス ID を返す。

    次の例では、住所(エスケープ済み URL)を使用して Geocoding API に対するリクエストを行います。

    https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY

    リバース ジオコーディングを使用してプレイス ID を見つけることができます。以下の例のジオコーディング サービスの関数は、指定された緯度と経度の座標にあるすべての住所コンポーネントのプレイス ID を返します。

    https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY

    リバース ジオコーディングにコンポーネント フィルタリングを組み合わせて、指定された場所の、以下の 1 つ以上のタイプの住所コンポーネントを取得します。

    • administrativeArea
    • country
    • locality
    • postalCode
    • schoolDistrict

    次の例では、ジオコーディング サービスを使用して、リバース ジオコーディングにコンポーネントの制限を追加し、指定された場所の locality タイプの住所コンポーネントをすべて取得します。

    https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY