الأدلة

كيف تضيف الخرائط إلى تطبيقك: التضمين والخرائط التفاعلية ومواقع المتاجر

لإضافة خريطة إلى تطبيقك، قرر أولاً هل تحتاج إلى تضمين ثابت (موقع واحد بدبوس، مثل "اعثر على متجرنا") أم خريطة تفاعلية (دبابيس كثيرة من بياناتك، ومرشحات، وتجميع للدبابيس، و"بالقرب مني"). للموقع الواحد، يكون التضمين أسرع، وهو مجاني مع Maps Embed API من Google. أما الخرائط التفاعلية فاستخدم مكتبة خرائط JavaScript، مثل Google Maps JavaScript API أو Mapbox GL JS أو Leaflet مفتوحة المصدر مع مزوّد بلاطات؛ واحفظ خط العرض وخط الطول لكل مكان في قاعدة بياناتك، وقيّد مفتاح API بنطاقك أنت. تفاصيل المزوّدين أدناه مأخوذة من وثائق كل مزوّد نفسه حتى سبتمبر 2026.

أي نوع من الخرائط تحتاج؟

الحاجةمثالأبسط نهج
موقع واحدصفحة اتصال لمقهىخريطة مضمّنة
عدد قليل من المواقع الثابتةثلاثة فروعتضمين لكل فرع، أو خريطة تفاعلية صغيرة
مواقع كثيرة من بياناتكدليل، أو قوائم عقارات، أو فعالياتخريطة تفاعلية بدبابيس من قاعدة بياناتك
البحث بالمسافة"عيادات ضمن 10 كم"إحداثيات مخزنة مع استعلام مسافة
المسارات والاتجاهاتمناطق التوصيل، أو "احصل على الاتجاهات"رابط اتجاهات، أو واجهة برمجية للمسارات

معظم مواقع الأعمال الصغيرة تحتاج فقط إلى الصف الأول. أما الأدلة والأسواق ومواقع القوائم فتحتاج إلى الصف الثالث والرابع.

خياراتك

الخيارما هوملاحظات التكلفة (اعتباراً من سبتمبر 2026)مناسب لـ
Google Maps Embed APIإطار iframe يعرض مكاناً أو نتيجة بحثوفق وثائق Google: كل الطلبات مجانية وبلا حدود للاستخدام؛ ومفتاح API مطلوبموقع واحد داخل صفحة
Google Maps JavaScript APIخريطة Google تفاعلية كاملةDynamic Maps: 10,000 حدث مجاني شهرياً، ثم مدفوع لكل 1,000مظهر مألوف، وبيانات أماكن من Google
Mapbox GL JSخرائط متجهة تفاعلية بأنماط مخصصةتدرج Mapbox 50,000 تحميل مجاني شهرياً لخريطة على الويب، ثم 5.00 دولار لكل 1,000 تحميلالخرائط ذات التنسيق المخصص
Leaflet + بلاطاتمكتبة خرائط مفتوحة المصدر؛ تختار أنت مصدر البلاطاتLeaflet نفسها مجانية؛ وتكلفة البلاطات تعتمد على المزوّدالخرائط الخفيفة، وتجنب الارتباط بمزوّد واحد

منصة خرائط Google

يقول دليل البدء لدى Google إنه يجب عليك إنشاء مشروع Cloud مفعّل له الفوترة وتفعيل الواجهات التي تريدها. وتمنح تسعيرتها حسب الاستخدام SKUs من فئة Essentials، ومنها Dynamic Maps، حصة مجانية شهرية قدرها 10,000 حدث، وتسرد Dynamic Maps بسعر 7.00 دولار لكل 1,000 حدث فوق ذلك (في أول شريحة حجم). أما SKU الخاص بـ Maps Embed فمسجّل كغير محدود ومجاني. كما تبيع Google خطط اشتراك شهرية. راجع تسعير منصة خرائط Google للأرقام الحالية.

Mapbox

تسرد صفحة تسعير Mapbox 50,000 تحميل خريطة مجاني شهرياً لـ Mapbox GL JS على الويب، ثم 5.00 دولار لكل 1,000 تحميل. راجع تسعير Mapbox.

Leaflet وOpenStreetMap

يصف Leaflet نفسه بأنه مكتبة JavaScript مفتوحة المصدر للخرائط التفاعلية المناسبة للهواتف، بحجم نحو 42 كيلوبايت من JavaScript. وهو يحتاج إلى بلاطات الخريطة (الصور التي تشكّل الخريطة) من مكان ما. وخوادم البلاطات العامة في OpenStreetMap مغرية، لكن سياسة استخدام البلاطات تشترط ذكر المصدر بشكل ظاهر، وتحظر التنزيل بالجملة، ولا تضمن مستوى خدمة، وتحذّر الخدمات التجارية من أن الوصول قد يُسحب. في منتج حقيقي، استخدم مصدر بلاطات تجارياً أو مستضافاً ذاتياً يعمل مع Leaflet.

مفاتيح API: علنية، لكن مقيّدة

مفاتيح الخرائط المستخدمة في المتصفح مرئية لأي شخص يفتح صفحتك. وهذا متوقع، لكنه يعني أن أحدهم قد ينسخ مفتاحك ويشغّل الاستخدام على حسابك. توصي إرشادات Google الأمنية بإضافة قيود المواقع (HTTP referrer) التي تسرد نطاقاتك، وقيود الواجهات (API restrictions) بحيث يعمل المفتاح للواجهات التي تستخدمها فقط.

يجب أن تُحفظ المفاتيح الخاصة بخدمات الخادم، مثل الترميز الجغرافي لآلاف العناوين، في مفاتيح منفصلة وفي أسرار على الخادم، لا في الصفحة. واضبط أيضاً تنبيهات الميزانية أو الحصص في لوحة تحكم المزوّد، حتى لا يتحول أي خطأ إلى فاتورة كبيرة.

الترميز الجغرافي: حوّل العناوين إلى إحداثيات مرة واحدة

الخرائط ترسم خط العرض وخط الطول، لا العناوين. وتحويل العنوان إلى إحداثيات يُسمى الترميز الجغرافي (geocoding)، ويتقاضى معظم المزوّدين رسوماً عليه لكل طلب. النمط الفعال هو:

  1. عند حفظ قائمة، رمّز عنوانها جغرافياً على الخادم.
  2. احفظ خط العرض وخط الطول في قاعدة البيانات.
  3. تقرأ الخريطة الإحداثيات المخزنة؛ ولا تُرمّز جغرافياً عند عرض الصفحة أبداً.

تحقق من شروط كل مزوّد حول المدة التي يُسمح لك فيها بتخزين نتائج الترميز الجغرافي؛ فهي تختلف.

أمثلة على الأوامر

خريطة مضمّنة واحدة:

في صفحة الاتصال، أضف خريطة Google مضمّنة تعرض عنواننا (12 High Street, Leeds) باستخدام Maps Embed API مع المفتاح الموجود في GOOGLE_MAPS_EMBED_KEY. أضف رابط "احصل على الاتجاهات" أسفلها. اجعلها بعرض كامل على الهواتف، وأجّل تحميلها حتى الحاجة إليها.

خريطة تفاعلية للقوائم:

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

"بالقرب مني":

أضف زر "بالقرب مني" يطلب موقع الزائر ويعرض القوائم ضمن 10 كم مرتبة حسب المسافة. إذا رفض منح إذن الموقع، فدعه يكتب اسم مدينة بدلاً من ذلك.

خطوة بخطوة

  1. اختر نوع الخريطة من الجدول في الأعلى.
  2. أنشئ حساب المزوّد ومشروعاً، وفعّل الواجهات التي تحتاجها فقط.
  3. أنشئ المفاتيح: مفتاح للمتصفح مقيّد بنطاقاتك (بما في ذلك نطاق المعاينة أثناء البناء)، ومفتاح للخادم عند الحاجة للترميز الجغرافي.
  4. احفظ المفاتيح كأسرار واطلب من أداة البناء استخدامها؛ يبقى مفتاح المتصفح مقيّداً رغم أنه يصل إلى الصفحة في النهاية.
  5. خزّن الإحداثيات لكل مكان في قاعدة بياناتك.
  6. ابنِ الخريطة: دبابيس، ونوافذ منبثقة، وتجميع، ومستوى تكبير افتراضي معقول.
  7. اقرنها بقائمة. الخريطة وحدها صعبة الاستخدام على الهاتف، وغير متاحة لقارئات الشاشة. اعرض النتائج نفسها كقائمة.
  8. اضبط تنبيه ميزانية في لوحة تحكم المزوّد.
  9. انشر واختبر على النطاق الحي، لأن قيود المرجع (referrer) تمنع الخريطة كثيراً حتى تُضاف النطاق الحي.

أخطاء شائعة

  • مفاتيح بلا قيود. أي شخص يستطيع إعادة استخدامها في موقعه.
  • الترميز الجغرافي عند كل عرض للصفحة. بطيء ومكلف؛ رمّز مرة واحدة عند الحفظ.
  • نسيان النطاق الحي في قيود المفتاح. تعمل في المعاينة، ثم تظهر مساحة رمادية فارغة في الإنتاج.
  • تخطيطات تعتمد على الخريطة فقط. الدبابيس بلا قائمة مرهقة على الشاشات الصغيرة وغير متاحة.
  • مئات الدبابيس بلا تجميع. غير قابلة للقراءة وبطيئة.
  • غياب ذكر المصدر. معظم مزوّدي الخرائط والبلاطات يشترطون ذكره، وإخفاؤه يخالف شروطهم.
  • طلب الموقع عند تحميل الصفحة. اطلبه فقط عندما ينقر المستخدم على "بالقرب مني".

قائمة التحقق

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

إضافة الخرائط مع Mythex

لا يتضمن Mythex تكاملاً مدمجاً للخرائط؛ تحضر مفتاح المزوّد الخاص بك، وتضيفه كسرّ للمشروع (أو تلصقه عندما يعرض الوكيل بطاقة الأسرار)، وتطلب الخريطة في المحادثة، كما هو موضح في تكامل أي واجهة برمجية. تُحفظ الإحداثيات في قاعدة بيانات المشروع. وتذكّر أن تضيف نطاق المعاينة والنطاق المنشور كليهما إلى قيود المواقع للمفتاح، وأن تنشر من جديد بعد تغيير الأسرار.

الخرائط عادةً ما تكون بجوار البحث والقوائم: راجع كيف تضيف البحث إلى تطبيقك، وكيف تبني موقع دليل، وكيف تبني موقع أعمال صغير.

الأسئلة

ما أسهل طريقة لإضافة خريطة إلى موقع ويب؟

ضمّن خريطة واحدة بدبوس واحد، مثلاً باستخدام Maps Embed API من Google داخل iframe. تقول وثائق Google إن طلبات Maps Embed مجانية وبلا حدود للاستخدام، لكنك ما زلت تحتاج إلى مفتاح API.

هل خرائط Google مجانية للاستخدام في التطبيق؟

جزئياً. اعتباراً من سبتمبر 2026، تمنح تسعيرة الدفع حسب الاستخدام لدى Google كل SKU من فئة Essentials، ومنها Dynamic Maps، 10,000 حدث مجاني شهرياً، بينما Maps Embed بلا حدود ومجاني. وما زلت تحتاج إلى مشروع Google Cloud مفعّل له الفوترة للبدء.

هل من الآمن وضع مفتاح Google Maps API في المتصفح؟

مفاتيح الخرائط المستخدمة في المتصفح مرئية لأي شخص، لذا توصي Google بتقييدها بعناوين موقعك وبالواجهات البرمجية التي تستخدمها فقط. أما المفاتيح الخاصة بخدمات الخادم، مثل الترميز الجغرافي، فيجب أن تبقى على الخادم.

هل يمكنني استخدام OpenStreetMap مجاناً؟

بيانات OpenStreetMap مجانية للاستخدام مع ذكر المصدر، لكن خوادم البلاطات (tiles) العامة فيه تعتمد على التبرعات دون ضمان لمستوى الخدمة، وتحذّر السياسة المستخدمين التجاريين من أن الوصول قد يُسحب. في تطبيق إنتاجي، استخدم مزوّد بلاطات أو استضف خادمك بنفسك.

Mythex · Pricing · ابنِ أي شيء بالذكاء الاصطناعي · قوالب المواقع والتطبيقات · مقارنات Mythex · مصطلحات بناء التطبيقات بالذكاء الاصطناعي · أدوات مجانية لبناء التطبيقات بالذكاء الاصطناعي · English

English አማርኛ Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)