Il seguente esempio di codice mostra come aggiungere un indicatore di base a una mappa 3D chiamando il
metodo.
addMarker
Per utilizzare questo esempio di codice, segui le istruzioni riportate in
Configurare e aggiungere una mappa 3D alla tua
app per configurare il tuo
progetto Android Studio con una mappa 3D di base. Poi, aggiungi il seguente codice al file MainActivity.kt:
// Add imports
import com.google.android.gms.maps3d.model.Map3DMode
import com.google.android.gms.maps3d.model.latLngAltitude
...
// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.HYBRID)
googleMap3D.setCamera(
camera {
center = latLngAltitude {
latitude = 52.51974795
longitude = 13.40715553
altitude = 150.0
}
heading = 252.7
tilt = 79.0
range = 1500.0
}
)
// Add a marker using absolute altitude positioning
googleMap3D.addMarker(markerOptions {
position = latLngAltitude {
latitude = 52.519605780912585
longitude = 13.406867190588198
altitude = 150.0
}
label = "Absolute (150m)"
altitudeMode = AltitudeMode.ABSOLUTE
isExtruded = true
isDrawnWhenOccluded = true
collisionBehavior = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL
})
- Configurare l'altitudine dell'indicatore
- Configurare il comportamento della sovrapposizione degli indicatori
Ascoltare gli eventi di clic sugli indicatori
Per ascoltare gli eventi di clic su un indicatore, chiama setClickListener sull'oggetto indicatore. Il seguente esempio mostra come impostare un listener di clic su un indicatore:
marker.setClickListener {
lifecycleScope.launch(Dispatchers.Main) {
Toast.makeText(this@MarkersActivity, "Clicked on marker: ${marker.label}", Toast.LENGTH_SHORT)
.show()
}
}
Tieni presente che il gestore dei clic non viene eseguito nel thread principale (o dell'interfaccia utente). Se vuoi apportare modifiche all'interfaccia utente (ad esempio mostrare un messaggio Toast), devi passare al thread principale. Per Kotlin, puoi farlo utilizzando lifecycleScope.launch(Dispatchers.Main).