Điểm đánh dấu 3D sử dụng 2 lớp để xác định điểm đánh dấu: lớp 3DMarkerElement
cung cấp các tham số cơ bản (position
, label
và map
), còn lớp PinElement
chứa các lựa chọn để tuỳ chỉnh thêm.
Để thêm điểm đánh dấu vào bản đồ, trước tiên, bạn phải tải thư viện điểm đánh dấu. Thư viện này cung cấp các lớp 3DMarkerElement
và PinElement
.
Đoạn mã sau đây cho thấy mã để tạo một PinElement
mới, sau đó áp dụng mã này cho một điểm đánh dấu:
const pinScaled = new PinElement({
scale: 1.5,
});
const markerWithLabel = new Marker3DElement({
position: { lat: 37.419, lng: -122.03 },
label: 'Simple label'
});
Trong bản đồ được tạo bằng HTML, các thông số cơ bản cho một điểm đánh dấu được khai báo bằng phần tử HTML gmp-marker-3d
; mọi hoạt động tuỳ chỉnh sử dụng lớp PinElement
đều phải được áp dụng theo phương thức lập trình. Để làm việc này, mã của bạn phải truy xuất các phần tử gmp-marker-3d
từ trang HTML. Đoạn mã sau đây cho thấy mã để truy vấn một tập hợp các phần tử gmp-marker-3d
, sau đó lặp lại các kết quả để áp dụng chế độ tuỳ chỉnh đã được khai báo trong 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);
}
Trang này cho biết cách tuỳ chỉnh điểm đánh dấu theo những cách sau:
- Điều chỉnh tỷ lệ của điểm đánh dấu
- Thay đổi màu nền
- Thay đổi màu đường viền
- Thay đổi màu sắc của biểu tượng
- Thêm văn bản vào một glyph
- Thay đổi độ cao
- Xoá điểm đánh dấu
Điều chỉnh tỷ lệ điểm đánh dấu
Để điều chỉnh tỷ lệ của một điểm đánh dấu, hãy sử dụng tuỳ chọn 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);
Thay đổi màu nền
Sử dụng lựa chọn PinElement.background
để thay đổi màu nền của một điểm đánh dấu:
// 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);
Thay đổi màu đường viền
Sử dụng lựa chọn PinElement.borderColor
để thay đổi màu đường viền của một điểm đánh dấu:
// 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);
Thay đổi màu sắc của biểu tượng
Sử dụng lựa chọn PinElement.glyphColor
để thay đổi màu chữ tượng hình của một điểm đánh dấu:
// 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);
Thêm văn bản vào một glyph
Sử dụng lựa chọn PinElement.glyph
để thay thế glyph mặc định bằng một ký tự văn bản. Glyph văn bản của PinElement
sẽ tỷ lệ thuận với PinElement
và màu mặc định của glyph này sẽ khớp với glyphColor
mặc định của PinElement:
const pinTextGlyph = new PinElement({
glyph: "T",
glyphColor: "white",
});
const markerGlyphText = new Marker3DElement({
map,
position: { lat: 37.415, lng: -122.015 },
});
markerGlyphText.appendChild(pinTextGlyph);
Thay đổi độ cao
Sử dụng lựa chọn Marker3DElement.position.altitude
kết hợp với Marker3DElement.altitudeMode
và Marker3DElement.extruded
để thay đổi độ cao của điểm đánh dấu và thêm một đường kẻ được đùn giữa mặt đất và điểm đánh dấu:
const marker = new Marker3DElement({
position: { lat: 37.4239163, lng: -122.0947209, altitude: 100 },
altitudeMode: 'RELATIVE_TO_GROUND',
extruded: true,
});
Xoá điểm đánh dấu
Sử dụng Marker3DElement.remove()
để xoá điểm đánh dấu khỏi bản đồ:
const marker = document.querySelector('gmp-marker-3d');
marker.remove();