كيفية إنشاء أرقام تعريف الخرائط

اختيار النظام الأساسي: Android Android 3D iOS iOS 3D JavaScript Web Service

معرّف الخريطة هو معرّف فريد يمثّل إعدادات تصميم "خرائط Google" وإعدادات الضبط المخزّنة في Google Cloud. يمكنك استخدام معرّفات الخرائط لتفعيل الميزات أو إدارة الخرائط أو تصميمها على مواقعك الإلكترونية وفي تطبيقاتك. يمكنك إنشاء معرّفات خرائط لكل نظام أساسي تحتاجه، مثل JavaScript أو Android أو iOS أو الخرائط الثابتة، في مشروعك على Google Cloud Console في صفحة إدارة الخرائط.

لمزيد من التفاصيل والميزات التي تستخدم معرّفات الخرائط، يُرجى الاطّلاع على نظرة عامة على معرّف الخريطة.

الأذونات المطلوبة

لإنشاء أي معرّفات خرائط أو إدارتها في مشروعك، يجب استخدام كيان أساسي لديه الأذونات المناسبة على مستوى الدور، مثل دور "محرِّر" أو "مالك"، في صفحة "إدارة الهوية وإمكانية الوصول" في Cloud Console للمشروع. لمعرفة التفاصيل، يُرجى الاطّلاع على مرجع الأدوار الأساسية والمحدّدة مسبقًا في "إدارة الهوية وإمكانية الوصول".

إنشاء معرّفات الخرائط

يمكنك إنشاء معرّفات الخرائط في Cloud Console باتّباع الخطوات التالية:

  1. سجِّل الدخول إلى مشروع على Cloud Console وافتحه باستخدام الأذونات المطلوبة .

  2. في Cloud Console، انتقِل إلى صفحة إدارة الخرائط.

  3. انقر على إنشاء معرّف خريطة.

    إنشاء معرّف خريطة جديد

  4. في صفحة إنشاء معرّف خريطة جديد ، اتّبِع الخطوات التالية:

    1. في حقل الاسم، أدخِل اسمًا لمعرّف الخريطة.
    2. اختياري: في حقل الوصف، صف ما يُستخدم فيه معرّف الخريطة.
    3. في حقل نوع الخريطة، اختَر النظام الأساسي الذي تخطط لاستخدام معرّف الخريطة عليه. إذا اخترت JavaScript، اختَر أيضًا نوع خريطة نقطية (الإعداد التلقائي) أو اتجاهية. لمزيد من المعلومات عن الخرائط الاتجاهية، يُرجى الاطّلاع على مقالة الخرائط الاتجاهية.
    4. انقر على حفظ لعرض معرّف الخريطة الجديد.

ربط معرّف خريطة بنمط خريطة

إذا كنت تستخدم تصميم الخرائط باستخدام السحابة الإلكترونية، يمكنك ربط نمط خريطة بمعرّف الخريطة. لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة ربط نمطك بمعرّف خريطة.

إضافة معرّف الخريطة إلى تطبيقك

Android

يمكنك إضافة معرّف الخريطة من خلال عنصر <fragment> في ملف تنسيق النشاط، أو باستخدام فئة MapView، أو بشكل آلي باستخدام فئة GoogleMapOptions.

على سبيل المثال، لنفترض أنّك أنشأت معرّف خريطة مخزّنًا كقيمة سلسلة باسم map_id في res/values/strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">MAP_ID</string>
</resources>

بالنسبة إلى الخرائط التي تتم إضافتها من خلال عنصر <fragment> في ملف تنسيق النشاط، يجب أن تحدّد جميع أجزاء الخريطة التي يجب أن تتضمّن النمط المخصّص معرّف الخريطة في السمة map:mapId

<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
    map:name="com.google.android.gms.maps.SupportMapFragment"
        map:mapId="@string/map_id" />

يمكنك أيضًا استخدام السمة map:mapId لفئة MapView لتحديد معرّف خريطة:

<com.google.android.gms.maps.MapView
    xmlns:map="http://schemas.android.com/apk/res-auto"
    ....
    map:mapId="@string/map_id" />

لتحديد معرّف خريطة بشكل آلي، يمكنك تمريره إلى مثيل MapFragment باستخدام فئة GoogleMapOptions:

جافا

 MapFragment mapFragment = MapFragment.newInstance(
     new GoogleMapOptions()
         .mapId(getResources().getString(R.string.map_id)));

Kotlin

 val mapFragment = MapFragment.newInstance(
     GoogleMapOptions()
         .mapId(resources.getString(R.string.map_id))
 )

في استوديو Android، يمكنك إنشاء تطبيقك وتشغيله كالمعتاد. يتم تطبيق الأنماط المخصّصة التي تم ضبطها في الخطوة الأولى على جميع الخرائط التي تتضمّن معرّف الخريطة المحدّد.

Android 3D

يمكنك ضبط السمة mapId من النوع String على Map3DOptions بشكل آلي أو باستخدام سمات التنسيق. يتم توفير Map3DOptions لكائن Map3DView أثناء الإنشاء ولا يمكن تغييرها بعد إنشاء Map3DView.

يمكن للمطوّرين اختياريًا تنفيذ OnMapIdErrorListener جديد لتلقّي إشعار بمعرّف خريطة غير صالح أو غير متوفّر والردّ عليه.

يمكنك إضافة معرّف خريطة وإنشاء الخريطة بشكل آلي وضبط OnMapIdErrorListener:

import com.google.android.gms.maps3d.GoogleMap3D
import com.google.android.gms.maps3d.Map3DOptions
import com.google.android.gms.maps3d.Map3DView
import com.google.android.gms.maps3d.OnMap3DViewReadyCallback
import com.google.android.gms.maps3d.model.Map3DMode

class MainActivity : Activity(), OnMap3DViewReadyCallback, OnMapIdError {
  fun onCreate(...) {
    val map3DOptions = Map3DOptions(mapMode = Map3DMode.HYBRID, mapId = "MAP_ID")
    val map3DView = Map3DView(context, map3DOptions)
    map3DView.getMap3dViewAsync(this)
  }

  override fun onMap3DViewReady(googleMap3D: GoogleMap3D) {
    googleMap3D.setMapIdErrorListener(
      object : OnMapIdErrorListener {
        override fun onMapIdError() {
          // Handle error event.
        }
      }
    )
  }
}

يمكنك إضافة معرّف خريطة باستخدام سمات التنسيق:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:map3d="http://schemas.android.com/apk/res-auto"
   android:layout_width="match_parent" android:layout_height="match_parent">
 <com.google.android.gms.maps3d.Map3DView
     android:id="@+id/map3dView"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     map3d:mode="hybrid"
     map3d:mapId="MAP_ID"/>
</LinearLayout>

iOS

لإنشاء خريطة باستخدام معرّف خريطة، اتّبِع الخطوات التالية:

  1. أنشئ GMSMapID باستخدام سلسلة معرّف الخريطة من Cloud Console.
  2. أنشئ GMSMapView مع تحديد معرّف الخريطة الذي أنشأته للتو.

Swift

let camera = GMSCameraPosition(latitude: 47.0169, longitude: -122.336471, zoom: 12)
let mapID = GMSMapID(identifier: "MAP_ID")
let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: camera)
self.view = mapView

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.0169
                                                        longitude:-122.336471
                                                             zoom:12];
GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:camera];
self.view = mapView;

إذا كنت تستخدم معرّف الخريطة الخاص بك، يمكنك ضبط معرّف الخريطة في Cloud Console لاستخدام نمط جديد في أي وقت، وسيظهر هذا النمط في طريقة عرض الخريطة تلقائيًا لك وللمستخدمين في غضون ست ساعات تقريبًا.

إذا أردت الاطّلاع على التغييرات على الفور، يمكنك إغلاق تطبيقك وإعادة تشغيله من خلال الخروج منه وإيقافه نهائيًا من قائمة التطبيقات التي تم استخدامها مؤخرًا ثم إعادة فتحه. بعد ذلك، ستظهر الخريطة المعدَّلة.

iOS 3D

يمكن لمطوّري iOS ضبط معدِّل style جديد على Map. يقبل هذا المعدِّل معرّف خريطة وإغلاقًا اختياريًا يتم استدعاؤه عندما يكون معرّف الخريطة غير صالح أو غير متوفّر.

import SwiftUI
import GoogleMaps3D

struct ContentView: View {
  init () {
    Map.apiKey = "YOUR_API_KEY"
  }
  var body: some View {
    Map(initialCamera: .init(
        latitude: 0.0,
        longitude: 0.0,
      ),
      mode: .hybrid
    )
    .style(
      with: "MAP_ID",
      error: {
        // Handle styling error.
      }
    )
    // Could also use trailing closure syntax
    //  .style(with: "MAP_ID") {
    //     // Handle styling error.
    //  }
  }
}

JavaScript

لإنشاء خريطة باستخدام معرّف خريطة في الرمز البرمجي لتطبيقك:

  1. إذا كنت تخصّص خريطتك حاليًا باستخدام رمز JSON مضمّن، عليك إزالة السمة styles property من كائن MapOptions object، وإلا يمكنك تخطّي هذه الخطوة.

  2. أضِف معرّف خريطة إلى الخريطة باستخدام السمة mapId. على سبيل المثال:

map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8,
mapId: 'MAP_ID'
});

Javascript 3D

لإنشاء خريطة باستخدام معرّف خريطة في تطبيقك، أضِف معرّف خريطة إلى الخريطة باستخدام السمة mapId. على سبيل المثال:

async function init() {
    const { Map3DElement } = await google.maps.importLibrary('maps3d');

    const map = new Map3DElement({
        center: {
            lat: 37.75183154601466,
            lng: -119.52369070507672,
            altitude: 2200,
        },
        tilt: 67.5,
        heading: 108.94057782079429,
        range: 6605.57279990986,
        mapId: 'bcce776b92de1336e22c569f', // Styles are associated with map IDs.
        mode: 'HYBRID',
    });

    document.body.append(map);
}

void init();

Maps Static

لإضافة معرّف خريطة إلى خريطة جديدة أو حالية تستخدم إحدى واجهات برمجة تطبيقات خدمة الويب، ألحِق مَعلمة عنوان URL map_id واضبطها على معرّف الخريطة. يوضّح هذا المثال كيفية إضافة معرّف خريطة إلى خريطة باستخدام Maps Static API.

<img src="/maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300&maptype=roadmap&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318&markers=color:red%7Clabel:C%7C40.718217,-73.998284&key=%3Cspan%20data-devsite-credential-type="api_key" class="replaceable-credential">YOUR_API_KEY&map_id=MAP_ID&signature=YOUR_SIGNATURE" />

خريطة في وسطها جسر بروكلين في مدينة نيويورك، نيويورك، الولايات المتحدة، مع أدوات التحكّم في الخريطة في أسفل يسار الصفحة تعرض الخريطة أنماطًا مخصّصة للطرق والمياه والأراضي.

إذا كان لديك توقيع رقمي في عنوان URL ثابت لـ Maps قبل إضافة معرّف الخريطة، عليك إنشاء توقيع رقمي جديد وإضافته بعد إضافة معرّف الخريطة. عند إنشاء المفتاح السري لتوقيع روابط URL الجديد، تذكّر إزالة التوقيع الرقمي السابق من عنوان URL.