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

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

Places SDK for iOS と Geocoding API を Maps SDK for iOS とともに使用すると、地域を検索して、場所に関する詳細情報を取得できます。Places SDK for iOS と Geocoding API は、プレイス ID を取得できる強力で安定した代替手段です。すでにプレイス ID を使用している場合は、その ID を境界線用データドリブン スタイル設定で再利用できます。

プレイスとジオコーディングは、次の方法で 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 を検索する。
    • 境界線にズームするビューポートを取得する。
    • 境界線の対象物タイプ(地域区分など)を取得します。
    • フォーマット済みの住所を取得します。米国地域の「地名、州、国」に解決されます(例: 「カークランド、ワシントン州、米国」)。
    • 写真など、その他の便利なデータを取得する。

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