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

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

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

  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: الطلب غير صالح.