توضّح لك هذه الصفحة كيفية التحكّم في الجوانب التالية من "العلامات المتقدّمة":
- ضبط سلوك الاصطدام لعلامة
- ضبط ارتفاع العلامة
- التحكّم في مستوى ظهور العلامة حسب مستوى تكبير الخريطة
ضبط سلوك الاصطدام لعلامة
يتحكّم سلوك الاصطدام في كيفية عرض العلامة إذا اصطدمت (تداخلت) بعلامة أخرى. لا يتوفّر سلوك التصادم إلا على الخرائط المتجهّة.
لضبط سلوك التصادم، اضبط AdvancedMarkerElement.collisionBehavior
على أحد يليه:
REQUIRED
: (الإعداد التلقائي) عرض العلامة دائمًا بغض النظر عن حدوث تصادمOPTIONAL_AND_HIDES_LOWER_PRIORITY
لا تعرض العلامة إلا إذا لم يكن هناك تداخل مع علامات أخرى. إذا كان هناك علامتان من هذا النوع سيتداخلان، يتم عرض العلامة التي لها قيمةzIndex
أعلى. إذا كانت السمةzIndex
متطابقة، يتم عرض العنصر الذي يقع في الموضع السفلي من الشاشة.REQUIRED_AND_HIDES_OPTIONAL
عرض العلامة دائمًا بغض النظر عن التصادم، وإخفاء أيOPTIONAL_AND_HIDES_LOWER_PRIORITY
علامات أو تصنيفات قد تتداخل مع العلامة
يوضّح المثال التالي كيفية ضبط سلوك الاصطدام لعلامة:
TypeScript
const advancedMarker = new AdvancedMarkerElement({ position: new google.maps.LatLng({ lat, lng }), map, collisionBehavior: collisionBehavior, });
JavaScript
const advancedMarker = new AdvancedMarkerElement({ position: new google.maps.LatLng({ lat, lng }), map, collisionBehavior: collisionBehavior, });
ضبط ارتفاع العلامة
في الخرائط المتجهّة، يمكنك ضبط الارتفاع الذي يظهر عنده علامة. ويُعدّ ذلك مفعّلاً
لعرض العلامات بشكل صحيح بالنسبة إلى محتوى الخريطة الثلاثية الأبعاد. لضبط
الارتفاع لموقع علامة، حدِّد LatLngAltitude
كقيمة للخيار
MarkerView.position
:
TypeScript
const pin = new PinElement({ background: '#4b2e83', borderColor: '#b7a57a', glyphColor: '#b7a57a', scale: 2.0, }); const markerView = new AdvancedMarkerElement({ map, content: pin.element, // Set altitude to 20 meters above the ground. position: { lat: 47.65170843460547, lng: -122.30754, altitude: 20 } as google.maps.LatLngAltitudeLiteral, });
JavaScript
const pin = new PinElement({ background: "#4b2e83", borderColor: "#b7a57a", glyphColor: "#b7a57a", scale: 2.0, }); const markerView = new AdvancedMarkerElement({ map, content: pin.element, // Set altitude to 20 meters above the ground. position: { lat: 47.65170843460547, lng: -122.30754, altitude: 20 }, });
التحكّم في مستوى ظهور العلامة حسب مستوى تكبير الخريطة
راجِع التغيير في مستوى ظهور العلامات (ابدأ بتصغير الخريطة):
للتحكّم في مستوى ظهور العلامة المتقدّمة، أنشئ zoom_changed
مستمعًا وأضِف دالة شرطية لضبط AdvancedMarkerElement.map
على
null
إذا تجاوز مستوى التصغير المستوى المحدّد، كما هو موضّح في المثال التالي:
TypeScript
map.addListener('zoom_changed', () => { const zoom = map.getZoom(); if (zoom) { // Only show each marker above a certain zoom level. marker01.map = zoom > 14 ? map : null; marker02.map = zoom > 15 ? map : null; marker03.map = zoom > 16 ? map : null; marker04.map = zoom > 17 ? map : null; } });
JavaScript
map.addListener("zoom_changed", () => { const zoom = map.getZoom(); if (zoom) { // Only show each marker above a certain zoom level. marker01.map = zoom > 14 ? map : null; marker02.map = zoom > 15 ? map : null; marker03.map = zoom > 16 ? map : null; marker04.map = zoom > 17 ? map : null; } });