دليل ومثالان على Map Management API

تتيح لك واجهة Map Management API إدارة موارد تصميم الخرائط باستخدام السحابة الإلكترونية من خلال واجهات برمجة تطبيقات RESTful.

ملخّص الخطوات

  1. استخدِم Cloud Console لإنشاء معرّف خريطة (يقتصر على الخرائط الاتجاهية المستندة إلى JavaScript).
  2. استخدِم Cloud Console لإنشاء نمط خريطة. يتم استخدام نمط الخريطة كحلقة وصل بين معرّف الخريطة ومجموعة البيانات.
  3. استخدِم Cloud Console أو Maps Datasets API من أجل إنشاء مجموعة بيانات.
  4. استخدِم Map Management API لربط مجموعة البيانات برقم تعريف النمط.
  5. استخدِم معرّف الخريطة في أحد التطبيقات (JS أو iOS أو Android) واستخدِم واجهة برمجة التطبيقات الخاصة بالتصميم المستند إلى البيانات لتصميم ميزات مجموعة البيانات.

الأنواع

DatasetStyleAssociation

النوع: كائن/نموذج أولي

تغليف العلاقة بين مجموعة بيانات حالية وأحد أنماط 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 : توضّح هذه الأخطاء دائمًا تفاصيل الموارد التي تم رفض الوصول إليها. على سبيل المثال، عندما لا تكون واجهة برمجة التطبيقات مفعّلة للمشروع المقدَّم.

  • ALREADY_EXISTS: يتم تشغيله من خلال طلب إنشاء عندما يكون DatasetStyleAssociation موجودًا من قبل.

  • NOT_FOUND: يتم تفعيل هذا الخطأ من خلال أي من الطرق المذكورة أعلاه عند محاولة الوصول إلى مورد غير متوفّر، مثل "نمط" أو "مجموعة بيانات" أو "مشروع".

  • INVALID_ARGUMENT: الطلب غير صالح.