اتّبِع هذه الخطوات لإضافة "مكتبة السياقات المحلية" إلى مشروعك وإعداد عرض الخريطة المحلية.
تفعيل واجهات برمجة التطبيقات وحُزم تطوير البرامج (SDK) المطلوبة
لاستخدام "مكتبة السياقات المحلية"، يجب تفعيل Maps JavaScript API وMaps API. لتنفيذ ذلك، اتّبِع التعليمات لتفعيل واجهة برمجة تطبيقات واحدة أو أكثر أو حِزم تطوير برامج (SDK). تجدر الإشارة إلى أنّه يجب تفعيل واجهتَي برمجة التطبيقات في المشروع نفسه في Google Cloud Console.
تحميل "مكتبة السياقات المحلية"
لتحميل مكتبة السياق المحلية، يُرجى تحميل واجهة برمجة تطبيقات JavaScript للخرائط كالمعتاد، وتضمين المعلمات التالية:
- يحمّل
libraries=localContext
مكتبة السياقات المحلية. v=beta
مطلوب لاستخدام هذا الإصدار.- يحتوي
key
على مفتاح واجهة برمجة التطبيقات. - تنفِّذ
callback
الدالةinitMap()
.
يعرض المثال التالي علامة نص برمجي تتضمّن جميع الخيارات المذكورة أعلاه:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=localContext&v=beta&callback=initMap">
</script>
إنشاء طريقة عرض جديدة للخريطة في السياق المحلي
لإضافة "مكتبة السياقات المحلية" إلى صفحة ويب، عليك أولاً
إنشاء مثيل LocalContextMapView
وإعداد السمات المطلوبة:
element
- العنصرdiv
الذي يجب عرض الخريطة فيه (في هذه الحالة، يُطلق عليه اسم "map").placeTypePreferences
- أنواع الأماكن التي يجب أن تعرضها "مكتبة السياق المحلية" (ما يصل إلى 10 أماكن)maxPlaceCount
- الحد الأقصى لعدد الأماكن المطلوب عرضها (1 - 24).locationRestriction
(اختياري) - لتقييد البحث عن المكان على موقع جغرافي معيّن الإعداد التلقائي لإطار عرض الخريطة.
بعد الحصول على مثيل LocalContextMapView
، يمكنك إعداد خيارات الخريطة
على مثيل Map
الداخلي. تدعم الخريطة التي يتضمنها LocalContextMapView
جميع خيارات الخريطة نفسها مثل خريطة API العادية لـ "خرائط Google"
يوضّح المثال التالي إنشاء مثيل LocalContextMapView
جديد، وضبط بعض الخيارات على Map
الداخلي:
TypeScript
let map: google.maps.Map; function initMap() { const localContextMapView = new google.maps.localContext.LocalContextMapView({ element: document.getElementById("map"), placeTypePreferences: [ { type: "restaurant" }, { type: "tourist_attraction" }, ], maxPlaceCount: 12, }); map = localContextMapView.map!; map.setOptions({ center: { lat: 51.507307, lng: -0.08114 }, zoom: 14, }); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
let map; function initMap() { const localContextMapView = new google.maps.localContext.LocalContextMapView({ element: document.getElementById("map"), placeTypePreferences: [ { type: "restaurant" }, { type: "tourist_attraction" }, ], maxPlaceCount: 12, }); map = localContextMapView.map; map.setOptions({ center: { lat: 51.507307, lng: -0.08114 }, zoom: 14, }); } window.initMap = initMap;
تأجيل تحميل بيانات السياق المحلي
يمكنك تأجيل تحميل بيانات السياق المحلي من وقت الإعداد، وذلك من خلال ضبط خيار LocalContextMapView
maxPlaceCount
على 0. ويكون ذلك
مفيدًا في الحالات التي تريد الانتظار فيها إلى أن يصبح المستخدمون مستعدين للاطّلاع على البيانات. عندما تكون مستعدًا لتحميل بيانات السياق المحلي، اضبط
maxPlaceCount
على قيمة 1 أو أكثر. يوضح المثال التالي إعداد الخريطة بدون تحميل بيانات السياق المحلي، ثم ضبط maxPlaceCount
لتحميل البيانات:
// Initialize without Local Context data.
const localContextMapView = new google.maps.localContext.LocalContextMapView({
element: document.querySelector('#map'),
placeTypePreferences: ['restaurant'],
maxPlaceCount: 0, // Avoids an automatic call to load places during initialization.
});
//...
// Show places now.
localContextMapView.maxPlaceCount = 12;
إيقاف/تفعيل عرض واجهة المستخدم للسياق المحلي
يمكنك تبديل عناصر واجهة مستخدم "السياق المحلي"
عن طريق ضبط خيار LocalContextMapView
maxPlaceCount
على 0. لعرض واجهة مستخدم السياق المحلي مرة أخرى، اضبط maxPlaceCount
على قيمة 1 أو أكثر.
ضبط الحد الأدنى لأبعاد الخريطة
تغيّر "مكتبة السياقات المحلية" الاستجابة
بالاستناد إلى حجم شاشة LocalContextMapView
. الحد الأدنى للأبعاد المتوافقة مع LocalContextMapView
هو:
- 300 بكسل × 480 بكسل (عمودي)
- 480 بكسل × 380 بكسل (أفقي)
عندما ينخفض العنصر المضمّن في LocalContextMapView
عن
الحد الأدنى للسمات المتوافقة، لا تظهر عناصر "مكتبة السياقات المحلية"، بما في ذلك أداة اختيار المكان ونقاط الاهتمام.
يؤثّر مستوى تكبير/تصغير المتصفّح في الحدّ الأدنى للأبعاد المتوافقة، على سبيل المثال: إذا تم تكبير نافذة المتصفّح بنسبة %200، سيكون الحد الأدنى للأبعاد المتوافقة هو
600 × 960 (عمودي) و960 × 760 (أفقي).
اقتراحات لخدمة مقارنة الأسعار
فئات CSS في DOM Library Context Library ليست جزءًا من Perspective API، كما أنّ تصميم النمط أو تعديله أو اختياره غير متاح ضمن DOM Library Library Library. ننصحك بشدة باتّباع الإرشادات التالية لتجنّب حدوث تعارض في أنماط DOM والتأكّد من عرض صفحة "مكتبة السياقات المحلية" بشكل صحيح:
- ولا تستخدم فئات CSS لـ "مكتبة السياقات المحلية"، لأنها قد تتغير بدون إشعار.
- لا تضع نمطًا أو عدِّل أو اختَر عناصر في إطار DOM لمكتبة محلية.
إذا كنت تستخدم إطار عمل CSS لإجراء هذه التعديلات، قد يكون بإمكانك العمل على حلّ التعارضات في الأنماط.
على سبيل المثال، إذا كنت تريد تغيير الصفحة الرئيسية box-sizing
إلى border-box
:
- استخدام عمليات التجاوز
box-sizing
التي تضبط العنصر<html>
علىborder-box
- استخدم
box-sizing: initial
للعنصر الذي يحتوي على عرض خريطة مكتبة السياقات المحلية. - يمكنك استخدام
box-sizing: inherit
لجميع العناصر الأخرى.
ويضمن ذلك إعادة ضبط box-sizing
DOM لمكتبة الملفات المحلية على الإعدادات التلقائية العادية باستخدام أداة اختيار منخفضة الدقة.
في ما يلي الشكل الذي يظهر به الرمز:
html {
box-sizing: border-box;
}
*, *::before, *::after {
box-sizing: inherit;
}
.container-for-google-maps {
box-sizing: initial;
}