Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Page updated Apr 30, 2024

Maintenance ModeYou are viewing Amplify Gen 1 documentation. Amplify Gen 1 has entered maintenance mode and will reach end of life on May 1, 2027. New project should use Amplify Gen 2. For existing Gen 1 projects, a migration guide and tooling are available to help you upgrade. Switch to the latest Gen 2 docs →

ジオフェンスコレクションの設定

ジオフェンスは、現実世界の地理的エリアの仮想境界線です。ジオフェンスは、閉じた境界線を形成するポイントまたは頂点を含み、関心のある領域を定義します。ジオフェンスコレクションは、1つまたは複数のジオフェンスを保存します。Amplifyのgeoカテゴリを使用すると、仮想地理的境界線を設定するために使用するジオフェンスコレクションを作成および管理できます。

新しいジオフェンスコレクションをセットアップする

アプリケーションに新しいジオフェンスコレクションを追加する前に、プロジェクトに少なくとも1つのCognito User Poolグループが追加されている必要があります。コレクション内のジオフェンスに対するCRUD操作を実行するための権限は、これらのジオフェンスを管理する責任を持つCognito User Poolグループに属するユーザーにのみ付与されます。

authカテゴリをまだセットアップしていない場合は、以下を実行してセットアップできます:

amplify add auth

authカテゴリをセットアップしたら、以下を使用してCognito User Poolグループを追加できます:

amplify update auth
? What do you want to do?
Apply default configuration with Social Provider (Federation)
Walkthrough all the auth configurations
❯ Create or update Cognito user pool groups
Create or update Admin queries API
? Provide a name for your user pool group: storesInWashingtonGeofenceCollectionAdmin
? Do you want to add another User Pool Group No
? Sort the user pool groups in order of preference
storesInWashingtonGeofenceCollectionAdmin

前述のCognitoグループに追加されたユーザーに以前作成されたジオリソースへのアクセスを許可したい場合は、以下のセクションで説明されている指示に従ってください。

さらに、既存ユーザーをCognitoグループに追加したい場合は、以下のセクションで説明されている指示に従ってください。

少なくとも1つのCognito User Poolグループが追加されたら、以下を使用して新しいジオフェンスコレクションをプロビジョニングできます:

amplify add geo
? Select which capability you want to add:
Map (visualize the geospatial data)
Location search (search by places, addresses, coordinates)
❯ Geofencing (visualize virtual perimeters)

次に、ジオフェンスコレクションの名前を設定します:

? Provide a name for the Geofence Collection: storesInWashington

ジオフェンスコレクションのアクセス権限

次に、ジオフェンスコレクションリソースのアクセス権限を設定し、目的のCognito User Poolグループのユーザーがコレクション内のジオフェンスに対してCRUD操作を実行することを許可します。

? Select one or more cognito groups to give access:
✔ storesInWashingtonGeofenceCollectionAdmin
? What kind of access do you want for storesInWashingtonGeofenceCollectionAdmin users? Select ALL that apply:
✔ Read geofence
✔ Create/Update geofence
Delete geofence
✔ List geofences

上記で選択された権限は、指定されたCognito User Poolグループに属するユーザーに付与されます。これらの権限はコレクション内のすべてのジオフェンスに適用されることに注意してください。たとえば、storesInWashingtonGeofenceCollectionAdmin Cognitoグループに対してRead geofence権限を選択した場合、そのグループに追加されたすべてのユーザーは、そのジオフェンスコレクション内のすべてのジオフェンスのプロパティを読み取ることができます。

ジオフェンスコレクションの価格プラン

ジオフェンスコレクションの価格プランはRequestBasedUsageに設定されます。価格プランの詳細については、ロケーションサービスの価格およびロケーションサービスの利用規約(セクション82.5)を参照することをお勧めします。

デフォルトのジオフェンスコレクションを設定する

amplify add geoで複数のジオフェンスコレクションを追加した場合、最後に追加されたジオフェンスコレクションがデフォルトになります。ただし、現在のジオフェンスコレクションがアプリケーションのデフォルトになるべきかどうかを選択できます:

? Set this geofence collection as the default? It will be used in Amplify geofence collection API calls if no explicit reference is provided. (Y/n)
> No

Noと答えると、以前に設定されたデフォルトが保持されます。

完了です。これで、アプリケーション内で関心のあるポイントの周りに仮想境界線を作成できます。ライブラリドキュメントについては、ここを参照してください。

ユーザーグループにマップと検索権限を付与する

Cognitoグループのユーザーにマップのレンダリングまたは場所の検索の権限を付与したい場合は、以下のように実行できます:

amplify update geo
? Select which capability you want to update: (Use arrow keys)
❯ Map (visualize the geospatial data)
Location search (search by places, addresses, coordinates)
Geofencing (visualize virtual perimeters)
? Select the Map you want to update:
❯ EsriDarkCanvasMap
? Restrict access by?
Auth/Guest Users
Individual Groups
❯ Both
Learn more

Auth/ゲストユーザーのアクセス

Auth/Guest Usersを選択して、個々のユーザーの認証ステータスに基づいて権限をスコープします。次の質問では、認証されたユーザーのみがリソースにアクセスできるか、認証されたユーザーとゲストユーザーがアクセスできるかを選択できます:

? Who can access this Map?
Authorized users only
Authorized and Guest users

認証されたユーザーのみがマップをレンダリングできる場合は、Authorized users onlyを選択します。

認証されたユーザーと認証されていないユーザーの両方がマップをレンダリングできる場合は、Authorized and Guest usersを選択します。

詳細については、ロケーションサービスページのリンクを参照してください。

個別グループアクセス

Individual Groupsを選択して、Cognito User Groupsに基づいてアクセス権限をスコープします:

? Select one or more cognito groups to give access:
✔ storesInWashingtonGeofenceCollectionAdmin

注:Auth/ゲストユーザーアクセス個別グループアクセスを組み合わせた場合、グループのメンバーであるユーザーには、認証されたユーザー権限ではなく、グループの権限のみが付与されます。

Cognito User Poolグループへのユーザー追加

Amplify CLIを使用して作成された既存のCognito User Poolグループにユーザーを追加するには、以下の手順に従ってください:

AWSコンソールを使用する

Amplify CLIによってプロビジョニングされたユーザープールに対応するAWSコンソールページを開きます:

amplify auth console
? Which console
❯ User Pool
Identity Pool
User Pool and Identity Pool

デフォルトブラウザで開いたCognitoユーザープールコンソールページから、General settingsUsers and groupsタブを選択します。次に、右側のGroupsタブから対応するCognitoグループを選択します(cognito user pool console groups tabを参照)

次に、Cognitoグループに追加する予定のユーザーをusernameemailなどで選択するウィンドウを表示するAdd usersボタンをクリックします。注:Cognito User Pool Groupに追加されたユーザーは、サインアウトしてもう一度サインインして再度認証する必要がある場合があります。 cognito group add users button

AWS SDK for Javascriptを使用する

または、AWS SDK for Javascriptを使用してプログラムで既存のCognito User Poolグループにユーザーを追加したい場合は、APIドキュメントを参照してください。

ジオフェンスコレクションへの独自のGeoJSONファイルのアップロード

ジオフェンスコレクションを追加してリソースをプロビジョニングしたら、コレクション内のジオフェンスを定義する独自のGeoJSONファイルを以下のコマンドでアップロードできます:

amplify geo import

GeoJSON.IOを参照することで、独自のジオフェンスを描画し、GeoJSONファイルを自動生成できます。GeoJSONファイルを取得したら、ファイルパスを提供できます:

? Provide the path to GeoJSON file containing the Geofences for ${your_geofence_collection} collection:
> ${your_input_geojson_file_path}

各ジオフェンスフィーチャーについて、一意の識別子が必要です。RFC7946によれば、識別子を適用するための2つのオプションがあります:

ルートレベルID

このオプションは、Featureオブジェクトのルートレベルの自動生成されたidフィールドを識別子として使用します。

**注:**このオプションはGeoJSONファイルを更新します

? Select the property to use as the Geofence feature identifier:
> Use root-level "id" field. (Auto-assigned if missing)

カスタムプロパティ

このオプションを使用すると、Featureオブジェクトのproperties内で独自のフィールドを選択できます。Amplify CLIは候補プロパティをスキャンし、ウォークスルーでオプションとして提供します。候補プロパティは、すべてのフィーチャーオブジェクトの存在に基づいて選択されます。識別子フィールドはジオフェンス間で一意の値を持つ必要があり、選択後に検証されます。

? Select the property to use as the Geofence feature identifier:
Use root-level "id" field. (Auto-assigned if missing)
> ${scanned_candidate_property_1}
${scanned_candidate_property_2}

GeoJSONファイルの検証が実行されます。検証成功時、ジオフェンスのアップロードがトリガーされます。GeoJSONの規制については、RFC7946を参照してください。

✅ Successfully validated GeoJSON file.
✅ Successfully added/updated Geofences in your collection

注: Amplify CLIを使用してジオフェンスコレクションをプロビジョニングしたら、アプリケーションのユースケースによっては、プロビジョニングされたジオフェンスコレクションにプログラムでジオフェンスを追加することもできます。詳細については、このAPIドキュメントを参照してください。