Map Management API を使用すると、RESTful API を使用してクラウドベースのマップのスタイル設定リソースを管理できます。
ステップの概要
- Cloud コンソールを使用してマップ ID を作成します(JavaScript ベクターベースのマップに限定されます)。
- Cloud コンソールを使用して地図のスタイルを作成します。地図のスタイルは、地図 ID とデータセットの間のリンクとして使用されます。
- Cloud Console または Maps Datasets API を使用して、データセットを作成します。
- Map Management API を使用して、データセットをスタイル ID に関連付けます。
- アプリケーション(JS、iOS、Android)でマップ ID を使用し、データドリブン スタイル設定 API を使用してデータセット対象物のスタイルを設定します。
型
DatasetStyleAssociation
タイプ: オブジェクト/Proto
既存のデータセットと既存の ClientStyle の関係をカプセル化します。
message DatasetStyleAssociation {
option (google.api.resource) = {
type: "mapstyling.googleapis.com/DatasetStyleAssociation"
pattern: "projects/{project}/datasets/{dataset}/clientStyles/{client_style}"
plural: "datasetStyleAssociations",
singular: "datasetStyleAssociation"
};
// Resource name.
// projects/{project}/datasets/{dataset}/clientStyles/{client_style}
string name = 1;
// The resource name of the style.
// projects/{project}/clientStyles/{client_style}
string client_style = 2;
メソッド
CreateDatasetStyleAssociation
rpc CreateDatasetStyleAssociation(CreateDatasetStyleAssociationRequest)
returns (DatasetStyleAssociation) {
option (google.api.http) = {
post: "/v1/{parent=projects/*/datasets/*}"
body: "dataset_style_association"
};
option (google.api.method_signature) = parent,dataset_style_association";
}
ListDatasetStyleAssociations
rpc ListDatasetStyleAssociations(ListDatasetStyleAssociationsRequest)
returns (ListDatasetStyleAssociationsResponse) {
option (google.api.http) = {
get: "/v1/{parent=projects/*/datasets/*}"
};
option (google.api.method_signature) = "parent";
}
DeleteDatasetStyleAssociation
rpc DeleteDatasetStyleAssociation(DeleteDatasetStyleAssociationRequest)
returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v1/{name=projects/*/datasets/*/clientStyles/*}:delete"
body: "*"
};
option (google.api.method_signature) = "name";
}
C++ 呼び出しの例
エンドポイントを作成するサンプル呼び出し
<pre>curl --http2 -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer <Token>' https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/{dataset_id} -d '{name: "projects/{project_number}/datasets/{dataset_id}/clientStyles/{style_id}", client_style: "projects/{project_number}/clientStyles/{style_id}" }'</pre>
エンドポイントを一覧表示するサンプル呼び出し
<pre>curl --http2 -X GET -H 'Content-Type: application/json' -H 'Authorization: Bearer <Token>' https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/-</pre>
関連付けられた地図を一覧表示する呼び出しのサンプル
<pre>curl --http2 -X GET -H 'Content-Type: application/json' -H 'Authorization: Bearer <Token>' https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/<dataset-id>/clientStyles/<style_id>:listAssociatedMaps</pre>
エンドポイントを削除するサンプル呼び出し
<pre>curl --http2 -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer <Token>' https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/<dataset_id>/clientStyles/<style_id>:delete -d '{"map_ids": ["map-id-1", "map-id-2"]}'</pre>
エラー
PERMISSION_DENIED : これらのエラーは、常に拒否されたリソース アクセスの詳細を示します。たとえば、指定されたプロジェクトで API が有効になっていない場合などです。
ALREADY_EXISTS: DatasetStyleAssociation がすでに存在する場合に、Create 呼び出しによってトリガーされます。
NOT_FOUND: スタイル、データセット、プロジェクトなど、存在しないリソースにアクセスしようとしたときに、上記の方法のいずれかによってトリガーされます。
INVALID_ARGUMENT: リクエストの形式が正しくありません。