تخصيص محدّد الموقع الأساسي

تستخدم علامات ثلاثية الأبعاد فئتَين لتحديد العلامات: توفّر الفئة 3DMarkerElement المَعلمات الأساسية (position وlabel وmap)، وتحتوي الفئة PinElement على خيارات لإجراء المزيد من التخصيص.

لإضافة علامات إلى خريطة، يجب أولاً تحميل مكتبة العلامات التي توفّر الفئتَين 3DMarkerElement وPinElement.

يعرض المقتطف التالي رمزًا لإنشاء PinElement جديد، ثم تطبيقه على علامة:

const pinScaled = new PinElement({
  scale: 1.5,
});

const markerWithLabel = new Marker3DElement({
  position: { lat: 37.419, lng: -122.03 },
  label: 'Simple label'
});

في الخرائط التي تم إنشاؤها باستخدام HTML، يتم تحديد المَعلمات الأساسية الخاصة بعلامة باستخدام عنصر HTML‏ gmp-marker-3d، ويجب تطبيق أي تخصيص يستخدم فئة PinElement بشكل آلي. لإجراء ذلك، يجب أن يسترد الرمز عناصر gmp-marker-3d من صفحة HTML. يعرض المقتطف التالي رمزًا برمجيًا للاستعلام عن مجموعة من عناصر gmp-marker-3d، ثم يتكرّر خلال النتائج لتطبيق التخصيص الذي تم الإعلان عنه في gmp-marker-3d.

// Return an array of markers.
const markers = [...document.querySelectorAll('gmp-marker-3d')];

// Loop through the markers
for (let i = 0; i < markers.length; i++) {
  const pin = new PinElement({
      scale: 2.0,
  });

  markers[i].appendChild(pin.element);
}

توضّح لك هذه الصفحة كيفية تخصيص العلامات بالطرق التالية:

تغيير حجم العلامة

لتغيير حجم علامة، استخدِم الخيار scale:

// Adjust the scale.
const pinScaled = new PinElement({
  scale: 1.5,
});
const markerScaled = new Marker3DElement({
  map,
  position: { lat: 37.419, lng: -122.02 },
});

markerScaled.appendChild(pinScaled);

تغيير لون الخلفية

استخدِم الخيار PinElement.background لتغيير لون خلفية علامة:

// Change the background color.
const pinBackground = new PinElement({
  background: '#FBBC04',
});
const markerBackground = new Marker3DElement({
  map,
  position: { lat: 37.419, lng: -122.01 },
});

markerBackground.appendChild(pinBackground);

تغيير لون الحدود

استخدِم الخيار PinElement.borderColor لتغيير لون حدود العلامة:

// Change the border color.
const pinBorder = new PinElement({
  borderColor: "#137333",
});
const markerBorder = new Marker3DElement({
  map,
  position: { lat: 37.415, lng: -122.035 },
});

markerBorder.appendChild(pinBorder);

تغيير لون الرمز الرسومي

استخدِم الخيار PinElement.glyphColor لتغيير لون الرمز الرسومي لعلامة:

// Change the glyph color.
const pinGlyph = new PinElement({
  glyphColor: "white",
});
const markerGlyph = new Marker3DElement({
  map,
  position: { lat: 37.415, lng: -122.025 },
});

markerGlyph.appendChild(pinGlyph);

إضافة نص إلى رمز

استخدِم الخيار PinElement.glyph لاستبدال الرمز الرسومي التلقائي بحرف نصي. يتغيّر حجم رمز النص PinElement مع حجم PinElement، ويتطابق لونه التلقائي مع لون glyphColor التلقائي في PinElement:

const pinTextGlyph = new PinElement({
  glyph: "T",
  glyphColor: "white",
});
const markerGlyphText = new Marker3DElement({
  map,
  position: { lat: 37.415, lng: -122.015 },
});

markerGlyphText.appendChild(pinTextGlyph);

تغيير الارتفاع

استخدِم الخيار Marker3DElement.position.altitude مع Marker3DElement.altitudeMode وMarker3DElement.extruded لتغيير ارتفاع العلامة وإضافة خط بارز بين الأرض والعلامة:

const marker = new Marker3DElement({
  position: { lat: 37.4239163, lng: -122.0947209, altitude: 100 },
  altitudeMode: 'RELATIVE_TO_GROUND',
  extruded: true,
});

إزالة العلامات

استخدِم Marker3DElement.remove() لإزالة العلامات من الخريطة:

const marker = document.querySelector('gmp-marker-3d');
marker.remove();

الخطوات التالية