تستخدم واجهة برمجة التطبيقات Markers API لخرائط ثلاثية الأبعاد فئتَين لتحديد العلامات: توفّر الفئة Marker3DElement المَعلمات الأساسية (position وlabel وmap)، وتحتوي الفئة PinElement على خيارات لإجراء المزيد من التخصيص.
لإضافة علامات إلى خريطة، يجب أولاً تحميل مكتبة العلامات التي توفّر الفئتَين Marker3DElement وPinElement.
يعرض المقتطف التالي رمزًا لإنشاء PinElement جديد، ثم تطبيقه على علامة:
// Adjust the scale. const pinScaled = new PinElement({ scale: 1.5, }); const markerWithScale = new Marker3DElement({ position: { lat: 37.419, lng: -122.02 }, }); markerWithScale.append(pinScaled);
في الخرائط التي يتم إنشاؤها باستخدام 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 markerWithScale = new Marker3DElement({ position: { lat: 37.419, lng: -122.02 }, }); markerWithScale.append(pinScaled);
تغيير لون الخلفية
استخدِم الخيار PinElement.background لتغيير لون خلفية علامة:
// Change the background color. const pinBackground = new PinElement({ background: '#FBBC04', }); const markerWithBackground = new Marker3DElement({ position: { lat: 37.419, lng: -122.01 }, }); markerWithBackground.append(pinBackground);
تغيير لون الحدود
استخدِم الخيار PinElement.borderColor لتغيير لون حدود علامة:
// Change the border color. const pinBorder = new PinElement({ borderColor: '#FFFFFF', }); const markerWithBorder = new Marker3DElement({ position: { lat: 37.415, lng: -122.035 }, }); markerWithBorder.append(pinBorder);
تغيير لون الرمز
استخدِم الخيار PinElement.glyphColor لتغيير لون الحرف الرسومي لعلامة:
// Change the glyph color. const pinGlyph = new PinElement({ glyphColor: 'white', }); const markerWithGlyphColor = new Marker3DElement({ position: { lat: 37.415, lng: -122.025 }, }); markerWithGlyphColor.append(pinGlyph);
إضافة نص إلى رمز
استخدِم الخيار PinElement.glyph لاستبدال الرمز الرسومي التلقائي بحرف نصي. يتغيّر حجم الحرف الرسومي للنص PinElement مع حجم PinElement، ويتطابق لونه التلقائي مع لون glyphColor التلقائي في PinElement:
// Change many elements together and extrude marker. const pinTextGlyph = new PinElement({ background: '#F0F6FC', glyphText: 'E', glyphColor: 'red', borderColor: '#0000FF', }); const markerWithGlyphText = new Marker3DElement({ position: { lat: 37.415, lng: -122.015, altitude: 50 }, extruded: true, altitudeMode: 'RELATIVE_TO_GROUND', }); markerWithGlyphText.append(pinTextGlyph);
تغيير الارتفاع
استخدِم الخيار Marker3DElement.position.altitude مع Marker3DElement.altitudeMode وMarker3DElement.extruded لتغيير ارتفاع العلامة وإضافة خط بارز بين الأرض والعلامة:
// Change a marker's altitude and add an extrusion. const extrudedMarker = 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();