Utilizza i pennarelli per attirare l'attenzione di un utente su una posizione su una mappa. Questa guida mostra come utilizzare e personalizzare i segnaposto nelle mappe 3D. Puoi controllare la forma, le dimensioni e il colore dei marcatori, oltre all'altitudine a cui vengono visualizzati. L'esempio seguente mostra un indicatore di base:
3D Maps in Maps JavaScript fornisce due classi di marcatori distinte, ognuna ottimizzata per usi specifici. La seguente tabella mostra le differenze e i compromessi tra le due classi disponibili:
| Capacità | MarkerElement |
Marker3DElement |
|---|---|---|
| Personalizzazione | Alto (supporta elementi HTML personalizzati, API di animazione principali e così via) | Bassa (meno personalizzabile) |
| Rendimento | Prestazioni di interazione inferiori (calo di FPS con un numero elevato di indicatori) | Prestazioni di interazione più elevate (ottimizzate per il rendering di set di dati di grandi dimensioni) |
| Capacità consigliata | Prestazioni di interazione affidabili fino a circa 1000 indicatori | Consigliato per la gestione di oltre 1000 indicatori |
Personalizzare il colore, la scala e l'immagine dell'icona
Personalizza lo sfondo, il glifo, il colore del bordo e le dimensioni dell'indicatore predefinito.

Sostituisci l'icona indicatore predefinita con una risorsa SVG personalizzata.

Imposta l'altitudine del marker
Puoi impostare l'altitudine del marcatore estrudendolo e impostando l'altitudine.

Fare in modo che i marcatori rispondano agli eventi di clic e tastiera
Fai in modo che un indicatore risponda ai clic e agli eventi della tastiera aggiungendo un listener di eventi click.
function initMap() {
const map = new Map3DElement({
center: { lat: 37.4690, lng: -122.1074, altitude: 0 },
tilt: 67.5,
range: 45000,
mode: MapMode.HYBRID
});
const interactiveMarker = new google.maps.marker.Marker3DInteractiveElement({
map,
position: {lat: 37.4239163, lng: -122.0947209},
});
interactiveMarker.addEventListener('gmp-click', (event) => {
// Handle the click event.
// ...
});
}
Impostare il comportamento della sovrapposizione degli indicatori
Specifica il comportamento di un indicatore quando entra in collisione con un altro indicatore o con un'etichetta della mappa.
const marker = new Marker3DElement({
position: {lat, lng},
collisionBehavior: google.maps.CollisionBehavior.REQUIRED
});
Rendimento dell'indicatore
I marcatori HTML personalizzati (MarkerElement) offrono prestazioni inferiori rispetto ai marcatori 3D standard (Marker3DElement). Per le applicazioni con più di 1000 marcatori, è vivamente consigliata la classe Marker3dElement
per garantire prestazioni ottimali.