أنشئ تطبيق Android يعرض خريطة باستخدام نموذج Google Maps Views في Android Studio. إذا كان لديك مشروع حالي في "استوديو Android" تريد إعداده، يُرجى الاطّلاع على إعداد مشروع في "استوديو Android".
هذا الدليل السريع مخصّص للمطوّرين الذين لديهم معرفة أساسية بتطوير تطبيقات Android باستخدام Kotlin أو Java.
لمحة عن بيئة التطوير
ننصحك باستخدام أحدث إصدار ثابت من استوديو Android والمكوّن الإضافي لنظام Gradle المتوافق مع Android.
إعداد جهاز Android
لتشغيل تطبيق يستخدم حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android، يجب نشره على جهاز Android أو Android Emulator يستند إلى الإصدار 6.0 من نظام التشغيل Android أو إصدار أحدث ويتضمّن Google APIs.
- لاستخدام جهاز Android، اتّبِع التعليمات الواردة في مقالة تشغيل التطبيقات على جهاز.
- لاستخدام Android Emulator، يمكنك إنشاء جهاز افتراضي وتثبيت المحاكي باستخدام أداة إدارة الأجهزة المضمّنة في "استوديو Android".
إنشاء مشروع على "خرائط Google" في "استوديو Android"
افتح "استوديو Android"، وانقر على مشروع جديد في نافذة مرحبًا بك في "استوديو Android".
في نافذة مشروع جديد (New Project)، ضمن فئة الهاتف والجهاز اللوحي (Phone and Tablet)، اختَر بلا نشاط (No Activity)، ثم انقر على التالي (Next).
أكمِل نموذج مشروع جديد (New Project):
اضبط اللغة على Java أو Kotlin. كلتا اللغتين متوافقتان تمامًا مع حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android. لمزيد من المعلومات حول Kotlin، يُرجى الاطّلاع على مقالة تطوير تطبيقات Android باستخدام Kotlin.
اضبط الحد الأدنى لحزمة تطوير البرامج (SDK) على إصدار حزمة تطوير برامج (SDK) متوافق مع جهاز الاختبار. يجب اختيار إصدار أعلى من الحدّ الأدنى للإصدار المطلوب من "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android" الإصدار 20.0.x، وهو المستوى 23 من واجهة برمجة تطبيقات Android ("Marshmallow"، الإصدار 6.0 من Android) أو إصدار أحدث. يُرجى الاطّلاع على ملاحظات الإصدار للحصول على أحدث المعلومات حول متطلبات إصدار حزمة تطوير البرامج (SDK).
اضبط لغة إعدادات التصميم على Kotlin DSL أو Groovy DSL. يتم عرض مقتطفات لكلتا لغتَي إعدادات التصميم في الإجراءات التالية.
انقر على إنهاء.
يبدأ "استوديو Android" تشغيل Gradle وينشئ المشروع. وقد تستغرق هذه العملية بعض الوقت.
أضِف نشاط مشاهدات "خرائط Google":
- انقر بزر الماوس الأيمن على مجلد
appفي مشروعك. اختَر جديد > Google > نشاط مشاهدات "خرائط Google":
إضافة نشاط "طرق عرض خرائط Google" من appقائمة السياق في استوديو Androidفي مربّع الحوار نشاط Android جديد، ضَع علامة في مربّع الاختيار نشاط مشغّل التطبيقات.
اختَر إنهاء.
لمزيد من المعلومات، يُرجى الاطّلاع على إضافة رمز من نموذج.
- انقر بزر الماوس الأيمن على مجلد
عند الانتهاء من عملية الإنشاء، يفتح استوديو Android ملفَي
AndroidManifest.xmlوMapsActivity. يمكن أن يكون لنشاطك اسم مختلف، اعتمادًا على ما قمت بتكوينه أثناء الإعداد.
إعداد مشروعك على Google Cloud
أكمِل الخطوات المطلوبة التالية لإعداد Cloud Console:
الخطوة 1: إعداد مشروعك
وحدة التحكّم
-
في وحدة تحكّم Google Cloud، ضمن صفحة اختيار المشروع، انقر على إنشاء مشروع لبدء إنشاء مشروع جديد على السحابة الإلكترونية.
-
تأكَّد من تفعيل الفوترة لمشروعك على السحابة الإلكترونية. تأكَّد من تفعيل الفوترة لمشروعك.
تقدّم Google Cloud فترة تجريبية بدون أي رسوم. تنتهي الفترة التجريبية بعد 90 يومًا أو بعد أن يبلغ حسابك رسومًا بقيمة 300 دولار أمريكي، أيهما أقرب. يمكنك إلغاء الاشتراك في أي وقت. لمزيد من المعلومات، يُرجى الاطّلاع على أرصدة حساب الفوترة والفوترة.
SDK للسحاب
gcloud projects create "PROJECT"
يمكنك الاطّلاع على مزيد من المعلومات حول Google Cloud SDK وتثبيت Cloud SDK والأوامر التالية:
الخطوة 2: تفعيل واجهات برمجة التطبيقات أو حِزم تطوير البرامج (SDK)
لاستخدام "منصة خرائط Google"، يجب تفعيل واجهات برمجة التطبيقات أو حزم تطوير البرامج (SDK) التي تخطّط لاستخدامها مع مشروعك.
وحدة التحكّم
تفعيل حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android
SDK للسحاب
gcloud services enable \ --project "PROJECT" \ "maps-android-backend.googleapis.com"
يمكنك الاطّلاع على مزيد من المعلومات حول Google Cloud SDK وتثبيت Cloud SDK والأوامر التالية:
الخطوة 3: الحصول على مفتاح واجهة برمجة التطبيقات
تتناول هذه الخطوة عملية إنشاء مفتاح واجهة برمجة التطبيقات فقط. إذا كنت تستخدم مفتاح واجهة برمجة التطبيقات في الإنتاج، ننصحك بشدة بتقييد مفتاح واجهة برمجة التطبيقات. يمكنك العثور على مزيد من المعلومات في صفحة استخدام مفاتيح واجهة برمجة التطبيقات الخاصة بالمنتج.
مفتاح واجهة برمجة التطبيقات هو معرّف فريد يصادق على الطلبات المرتبطة بمشروعك لأغراض الاستخدام والفوترة. يجب أن يكون لديك مفتاح واجهة برمجة تطبيقات واحد على الأقل مرتبط بمشروعك. لإنشاء مفتاح جديد أو إضافة واجهة برمجة تطبيقات أو حزمة تطوير برامج (SDK) إلى مفتاح حالي، اتّبِع التعليمات التالية.
وحدة التحكّم
-
انتقِل إلى صفحة منصة خرائط Google > المفاتيح وبيانات الاعتماد.
- اختَر مشروعك إذا طُلب منك ذلك.
-
نفّذ أيًا مما يلي:
-
إنشاء مفتاح جديد:
- انقر على إنشاء بيانات الاعتماد > مفتاح واجهة برمجة التطبيقات.
- في لوحة إنشاء مفتاح واجهة برمجة التطبيقات، افتح قائمة اختيار قيود واجهة برمجة التطبيقات.
- امسح أي واجهات برمجة تطبيقات لا يحتاجها هذا المفتاح، وتأكَّد من بقاء حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android محدّدة.
- انقر على إنشاء. تعرض اللوحة مفتاح واجهة برمجة التطبيقات الجديد.
-
استخدام مفتاح حالي:
- انقر على اسم المفتاح.
- في قائمة اختيار قيود واجهة برمجة التطبيقات، اختَر حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android.
- انقر على حفظ.
لا يؤدي اختيار واجهة برمجة تطبيقات هنا إلى تفعيلها. تأكَّد من تفعيل حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android في صفحة مكتبة واجهة برمجة التطبيقات.
-
- للاطّلاع على سلسلة المفاتيح لاحقًا، انتقِل إلى صفحة المفاتيح وبيانات الاعتماد وانقر على عرض المفتاح للمفتاح المطلوب.
إذا كانت وحدة التحكّم تبدو مختلفة عن هذه الخطوات، يمكنك الاطّلاع على إنشاء مفتاح واجهة برمجة التطبيقات وإضافة قيود على واجهة برمجة التطبيقات في مستندات Google Cloud.
SDK للسحاب
استبدِل PROJECT_ID برقم تعريف مشروعك في الأوامر التالية.
-
إنشاء مفتاح جديد: نفِّذ الأمر التالي، واستبدِل DISPLAY_NAME باسم المفتاح.
gcloud services api-keys create \ --project="PROJECT_ID" \ --display-name="DISPLAY_NAME" \ --api-target=service=maps-android-backend.googleapis.com
يمكنك الاطّلاع على مزيد من المعلومات حول Google Cloud SDK وتثبيت Cloud SDK والأوامر التالية:
-
استخدام مفتاح حالي: نفِّذ الأمر التالي، واستبدِل KEY_ID بمعرّف المفتاح. تحتفظ العلامة
--appendبواجهات برمجة التطبيقات التي يسمح بها المفتاح حاليًا. وبدونها، يستبدلها الأمر.gcloud services api-keys update KEY_ID \ --project="PROJECT_ID" \ --append \ --api-target=service=maps-android-backend.googleapis.com
يمكنك الاطّلاع على مزيد من المعلومات حول Google Cloud SDK وتثبيت Cloud SDK والأوامر التالية:
معرّف المفتاح ليس سلسلة المفتاح أو اسم العرض. للعثور عليه، شغِّل
gcloud services api-keys list --project="PROJECT_ID". رقم التعريف هو الجزء الأخير من حقلname:projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.
للاطّلاع على سلسلة المفاتيح، شغِّل
gcloud services api-keys get-key-string KEY_ID
--project="PROJECT_ID".
إضافة مفتاح واجهة برمجة التطبيقات إلى تطبيقك
يتناول هذا القسم طريقة تخزين مفتاح واجهة برمجة التطبيقات بحيث يمكن لتطبيقك الإشارة إليه بأمان. يجب عدم إدخال مفتاح واجهة برمجة التطبيقات في نظام التحكّم في الإصدارات، لذا ننصحك بتخزينه في ملف secrets.properties في الدليل الجذري لمشروعك واستبعاد هذا الملف من نظام التحكّم في الإصدارات. لمزيد من المعلومات حول ملفات خصائص Gradle، يُرجى الاطّلاع على ملفات خصائص Gradle.
لتبسيط هذه المهمة، ننصحك باستخدام المكوّن الإضافي Secrets Gradle لأجهزة Android.
لتثبيت المكوّن الإضافي Secrets Gradle لأجهزة Android وتخزين مفتاح واجهة برمجة التطبيقات، اتّبِع الخطوات التالية:
-
في استوديو Android، افتح ملف
build.gradle.ktsأوbuild.gradleذي المستوى الأعلى وأضِف الرمز التالي إلى مجموعةplugins.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false }
Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false }
-
افتح ملف
build.gradle.ktsأوbuild.gradleعلى مستوى الوحدة وأضِف الرمز التالي إلى العنصرplugins.Kotlin
plugins { id("com.android.application") // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Groovy
plugins { id 'com.android.application' // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- إذا كنت تستخدم "استوديو Android"، زامن مشروعك مع Gradle.
-
افتح ملف
secrets.propertiesفي الدليل ذي المستوى الأعلى، ثم أضِف الرمز التالي. استبدِلYOUR_API_KEYبمفتاح واجهة برمجة التطبيقات الخاص بك. تأكَّد من إضافةsecrets.propertiesإلى ملف.gitignore(أو استبعاده من نظام التحكّم في الإصدارات) حتى لا يتم التحقّق من مفتاح واجهة برمجة التطبيقات في نظام التحكّم في الإصدارات.MAPS_API_KEY=YOUR_API_KEY
-
أنشئ ملف
local.defaults.propertiesفي الدليل ذي المستوى الأعلى، وهو المجلد نفسه الذي يتضمّن ملفsecrets.properties، ثم أضِف الرمز التالي.MAPS_API_KEY=DEFAULT_API_KEY
الغرض من هذا الملف هو توفير موقع احتياطي لمفتاح واجهة برمجة التطبيقات في حال عدم العثور على ملف
secrets.propertiesلكي لا تفشل عمليات الإنشاء. قد يحدث ذلك إذا استنسخت التطبيق من نظام تحكّم في الإصدارات يحذفsecrets.propertiesولم تنشئ بعد ملفsecrets.propertiesعلى جهازك لتقديم مفتاح واجهة برمجة التطبيقات. -
في ملف
AndroidManifest.xml، انتقِل إلىcom.google.android.geo.API_KEYوعدِّل السمةandroid:valueعلى النحو التالي:<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />ملاحظة:
com.google.android.geo.API_KEYهو اسم البيانات الوصفية المقترَح لمفتاح واجهة برمجة التطبيقات. يمكن استخدام مفتاح بهذا الاسم للمصادقة على عدة واجهات برمجة تطبيقات مستندة إلى "خرائط Google" على نظام Android الأساسي، بما في ذلك حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android. لضمان التوافق مع الأنظمة القديمة، تتيح واجهة برمجة التطبيقات أيضًا استخدام الاسمcom.google.android.maps.v2.API_KEY. يسمح هذا الاسم القديم بالمصادقة على الإصدار 2 من واجهة برمجة التطبيقات Android Maps API فقط. يمكن لأي تطبيق تحديد اسم واحد فقط من أسماء البيانات الوصفية لمفتاح واجهة برمجة التطبيقات. وفي حال تحديد كليهما، ستعرض واجهة برمجة التطبيقات استثناءً. -
في استوديو Android، افتح ملف
build.gradle.ktsأوbuild.gradleعلى مستوى الوحدة وعدِّل السمةsecrets. إذا لم تكن السمةsecretsمتوفّرة، أضِفها.عدِّل سمات المكوّن الإضافي لضبط
propertiesFileNameعلى"secrets.properties"، واضبطdefaultPropertiesFileNameعلى"local.defaults.properties"، واضبط أي سمات أخرى.Kotlin
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root local.properties file). // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" }
Groovy
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root local.properties file). // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" }
الاطّلاع على الرمز
افحص الرمز الذي يوفّره النموذج. اطّلِع على الملفات التالية في مشروعك على "استوديو Android" على وجه الخصوص.
ملف النشاط على "خرائط Google"
ملف النشاط على "خرائط Google" هو النشاط الرئيسي للتطبيق، ويحتوي على الرمز البرمجي لإدارة الخريطة وعرضها. بشكل تلقائي، يُطلق على الملف الذي يحدّد النشاط اسم MapsActivity.java أو MapsActivity.kt إذا تم ضبط Kotlin كلغة لتطبيقك.
العناصر الرئيسية للنشاط على "خرائط Google":
يدير الكائن
SupportMapFragmentمراحل نشاط الخريطة، وهو العنصر الرئيسي لواجهة مستخدم التطبيق.يتيح العنصر
GoogleMapالوصول إلى بيانات الخريطة وعرضها. هذه هي الفئة الرئيسية في "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android". يصف دليل عناصر الخريطة العنصرَينSupportMapFragmentوGoogleMapبمزيد من التفصيل.تضع الدالة
moveCameraالخريطة في منتصف الإحداثياتLatLngلمدينة سيدني في أستراليا. عادةً ما تكون الإعدادات الأولى التي يجب ضبطها عند إضافة خريطة هي موقع الخريطة وإعدادات الكاميرا، مثل زاوية العرض واتجاه الخريطة ومستوى التكبير. راجِع دليل الكاميرا والعرض للاطّلاع على التفاصيل.تضيف الدالة
addMarkerعلامة إلى إحداثيات سيدني. راجِع دليل العلامات للاطّلاع على التفاصيل.
Kotlin
// Add a marker in Sydney and move the camera val sydney = LatLng(-34.0, 151.0) map.addMarker( MarkerOptions() .position(sydney) .title("Marker in Sydney"), ) map.moveCamera(CameraUpdateFactory.newLatLng(sydney))
جافا
// Add a marker in Sydney and move the camera LatLng sydney = new LatLng(-34, 151); map.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); map.moveCamera(CameraUpdateFactory.newLatLng(sydney));
ملف Gradle للوحدة
يتضمّن ملف build.gradle.kts أو build.gradle على مستوى الوحدة تبعية "خرائط Google" التالية، والتي تتطلّبها حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع Android.
Kotlin
dependencies { // Maps SDK for Android implementation(libs.play.services.maps) }
Groovy
dependencies { // Maps SDK for Android implementation "com.google.android.gms:play-services-maps:20.0.0" }
إذا كان مشروعك يستخدم كتالوج إصدارات Gradle (gradle/libs.versions.toml)،
حدِّد تبعية play-services-maps في libs.versions.toml:
[versions]
play-services-maps = "20.0.0"
[libraries]
play-services-maps = { module = "com.google.android.gms:play-services-maps", version.ref = "play-services-maps" }
لمزيد من المعلومات حول إدارة تبعية "خرائط Google"، يُرجى الاطّلاع على تحديد الإصدارات.
ملف تنسيق XML
ملف activity_maps.xml هو ملف تنسيق XML الذي يحدد
بنية واجهة مستخدم التطبيق. يقع الملف في الدليل res/layout.
يعلن ملف activity_maps.xml عن جزء يتضمن العناصر التالية:
- يضبط
tools:contextالنشاط التلقائي للجزء علىMapsActivity، والذي يتم تحديده في ملف النشاط على "خرائط Google". - يضبط
android:nameاسم فئة الجزء علىSupportMapFragment، وهو نوع الجزء المستخدم في ملف النشاط على "خرائط Google".
يحتوي ملف تخطيط XML على التعليمة البرمجية التالية:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MapsActivity" />
نشر التطبيق وتشغيله

عند تشغيل التطبيق بنجاح، يعرض خريطة تتوسّطها مدينة سيدني في أستراليا مع علامة على المدينة، كما هو موضّح في لقطة الشاشة.
لنشر التطبيق وتشغيله:
- في استوديو Android، انقر على خيار القائمة تشغيل (أو رمز زر التشغيل) لتشغيل تطبيقك.
- عندما يُطلب منك اختيار جهاز، حدِّد أحد الخيارات التالية:
- اختَر جهاز Android المتصل بالكمبيوتر.
- بدلاً من ذلك، انقر على زر الاختيار تشغيل المحاكي واختَر الجهاز الافتراضي الذي أعددته.
- انقر على موافق. سيبدأ "استوديو Android" في استخدام Gradle لإنشاء تطبيقك، ثم عرض النتائج على جهازك أو المحاكي. قد يستغرق تشغيل التطبيق بضع دقائق.
الخطوات التالية
إعداد خريطة: يوضّح هذا المستند كيفية ضبط الإعدادات الأولية وإعدادات وقت التشغيل لخريطتك، مثل موضع الكاميرا ونوع الخريطة ومكوّنات واجهة المستخدم والإيماءات.
إضافة خريطة إلى تطبيق Android (Kotlin): يوضّح لك هذا الدرس التطبيقي حول الترميز كيفية إنشاء تطبيق يعرض بعض الميزات الإضافية في حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android.
استخدام مكتبة Maps Android KTX: تتيح لك مكتبة إضافات Kotlin (KTX) هذه الاستفادة من عدة ميزات في لغة Kotlin أثناء استخدام "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android".