Harita Yönetimi API Kılavuzu ve Örnekleri

Harita Yönetimi API'si, RESTful API'leri kullanarak bulut tabanlı harita stili kaynaklarınızı yönetmenize olanak tanır.

Adımların özeti

  1. Harita kimliği oluşturmak için Cloud Console'u kullanın (JavaScript vektör tabanlı haritalarla sınırlıdır).
  2. Harita stili oluşturmak için Cloud Console'u kullanın. Harita stili, harita kimliği ile veri kümesi arasındaki bağlantı olarak kullanılır.
  3. Veri kümesi oluşturmak için Cloud Console'u veya Maps Datasets API'yi kullanın.
  4. Veri kümesini stil kimliğiyle ilişkilendirmek için Harita Yönetimi API'sini kullanın.
  5. Harita kimliğini bir uygulamada (JS, iOS veya Android) kullanın ve veri kümesi özelliklerini stilize etmek için veri odaklı stil API'sini kullanın.

Türler

DatasetStyleAssociation

Tür: Nesne/Proto

Mevcut bir veri kümesi ile mevcut bir ClientStyle arasındaki ilişkiyi kapsar.

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;

Yöntemler

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";
  }

Örnek C++ çağrıları

Uç nokta oluşturmak için örnek çağrı

<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>

Liste Uç Noktası İçin Örnek Arama

<pre>curl --http2 -X GET -H 'Content-Type: application/json' -H 'Authorization: Bearer <Token>'   https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/-</pre>

İlişkili Haritaları Listeleme Çağrısı Örneği

<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>

Uç Noktayı Silme İçin Örnek Arama

<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>

Hatalar

  • PERMISSION_DENIED : Bu hatalar, kaynak erişiminin neden reddedildiğini her zaman ayrıntılı olarak açıklar. Örneğin, API sağlanan proje için etkinleştirilmediğinde.

  • ALREADY_EXISTS: DatasetStyleAssociation zaten mevcut olduğunda bir Oluşturma çağrısı tarafından tetiklenir.

  • NOT_FOUND: Stil, veri kümesi veya proje gibi mevcut olmayan bir kaynağa erişilmeye çalışıldığında yukarıdaki yöntemlerden herhangi biri tarafından tetiklenir.

  • INVALID_ARGUMENT: İstek yanlış biçimlendirilmiş.