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

Page updated Mar 26, 2026

Amplify Geo のセットアップ

Amplify は、Web アプリケーション向けのマップおよび場所検索用の API とマップ UI コンポーネントを提供します。わずか数行のコードで、アプリにマップと場所検索機能を追加できます。以下は、AWS Cloud Development Kit (AWS CDK) を使用して Amazon Location Services で実装された Geo リソースを作成する例です。ただし、このサービスにはまだ公式なハンドライティング (L2) コンストラクトがないことに注意してください。

amplify/backend.ts
import { defineBackend } from "@aws-amplify/backend";
import { Policy, PolicyStatement } from "aws-cdk-lib/aws-iam";
import { CfnMap } from "aws-cdk-lib/aws-location";
import { Stack } from "aws-cdk-lib/core";
import { auth } from "./auth/resource";
import { data } from "./data/resource";
const backend = defineBackend({
auth,
data,
// additional resources
});
const geoStack = backend.createStack("geo-stack");
// create a location services map
const map = new CfnMap(geoStack, "Map", {
mapName: "myMap",
description: "Map",
configuration: {
style: "VectorEsriNavigation",
},
pricingPlan: "RequestBasedUsage",
tags: [
{
key: "name",
value: "myMap",
},
],
});
// create an IAM policy to allow interacting with geo resource
const myGeoPolicy = new Policy(geoStack, "GeoPolicy", {
policyName: "myGeoPolicy",
statements: [
new PolicyStatement({
actions: [
"geo:GetMapTile",
"geo:GetMapSprites",
"geo:GetMapGlyphs",
"geo:GetMapStyleDescriptor",
],
resources: [map.attrArn],
}),
],
});
// apply the policy to the authenticated and unauthenticated roles
backend.auth.resources.authenticatedUserIamRole.attachInlinePolicy(myGeoPolicy);
backend.auth.resources.unauthenticatedUserIamRole.attachInlinePolicy(myGeoPolicy);
// patch the map resource to the expected output configuration
backend.addOutput({
geo: {
aws_region: geoStack.region,
maps: {
items: {
[map.mapName]: {
style: "VectorEsriNavigation",
},
},
default: map.mapName,
},
},
});

Amplify Geo は、モバイルアプリケーション開発用の API とマップ UI コンポーネントを提供しており、わずか数行のコードでアプリにマップを追加できます。Amplify Geo API は Amazon Location Service を使用して実装されており、MapLibre のマップ UI コンポーネントは既に Geo API と統合されています。

前提条件

Amplify ライブラリが統合されたアプリケーション、および以下のいずれかの最小ターゲット:

  • iOS 13.0 (Xcode 14.1 以上を使用)
  • macOS 10.15 (Xcode 14.1 以上を使用)
  • tvOS 13.0 (Xcode 14.3 以上を使用)
  • watchOS 9.0 (Xcode 14.3 以上を使用)
  • visionOS 1.0 (Xcode 15 beta 2 以上を使用)。(プレビューサポート - 詳細は以下を参照)

完全な例については、プロジェクトセットアップのウォークスルーに従ってください。

visionOS サポートは現在プレビュー段階であり、最新の Amplify リリースを使用することで利用できます。 Xcode と visionOS の新バージョンがリリースされると、必要に応じてサポートを更新する予定です。

Amplify ライブラリをインストールする

Geo プラグインは Cognito Auth に依存しています。

  1. アプリケーションに Amplify ライブラリをインストールするには、Xcode でプロジェクトを開き、File > Add Packages... を選択します。

  2. Amplify Library for Swift GitHub リポジトリの URL (https://github.com/aws-amplify/amplify-swift) を検索バーに入力し、Add Package をクリックします。

注: Dependency Rule ドロップダウンから Up to Next Major Version を選択する必要があります。

  1. 最後に、AWSLocationGeoPluginAWSCognitoAuthPlugin、および Amplify をターゲットに追加します。その後、Add Package をクリックします。

Amplify Geo を初期化する

次のコマンドを実行して amplify_outputs.json ファイルを生成していることを確認してください:

Terminal
npx ampx sandbox

次に、ファイルをプロジェクトに移動します。Xcode プロジェクトにファイルをドラッグ&ドロップすることで実行できます。

Amplify Geo を初期化するには、Amplify.add(plugin:) メソッドを使用して AWS Location Geo プラグインを追加します。次に、Amplify.configure(with:) を呼び出して Amplify の設定を完了します。

アプリケーションのメインファイル - AppDelegate.swift または <YOUR_APP_NAME>App.swift(アプリケーションのライフサイクルに応じて)を開き、ファイルの上部に次の import ステートメントを追加します

import Amplify
import AWSCognitoAuthPlugin
import AWSLocationGeoPlugin

同じファイルで、Amplify を設定する関数を作成します

func configureAmplify() {
do {
try Amplify.add(plugin: AWSCognitoAuthPlugin())
try Amplify.add(plugin: AWSLocationGeoPlugin())
try Amplify.configure(with: .amplifyOutputs)
print("Initialized Amplify");
} catch {
print("Could not initialize Amplify: \(error)")
}
}

次に、アプリケーションの起動ポイントで configureAmplify() 関数を呼び出します

@main
struct <YOUR_APP_NAME>App: App {
// add a default initializer and configure Amplify
public init() {
configureAmplify()
}
}
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_: UIApplication,
didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
configureAmplify()
return true
}
// ...
}

このアプリケーションをビルドして実行すると、コンソールウィンドウに以下が表示されます:

Initialized Amplify

注:

  • 既存の Amazon Location Service リソースを使用したい場合は、このガイドに従ってください。
  • Geo で直接サポートされていない Amazon Location Service API を使用したい場合は、エスケープハッチを使用して Amazon Location Service SDK にアクセスしてください。

参考資料

Location Construct Library

マップの料金プラン

マップの例の料金プランは RequestBasedUsage に設定されています。 料金プランの詳細については、ロケーションサービスの料金ロケーションサービスの利用規約(セクション 82.5)を参照することをお勧めします。