Cet exemple montre comment écouter et gérer certains événements sur une carte.
Pour en savoir plus, reportez-vous à la documentation.
Premiers pas
Avant d'essayer l'exemple de code, vous devez configurer votre environnement de développement. Pour en savoir plus, consultez Exemples de code du SDK Maps pour Android.
Voir le code
Kotlin
class EventsDemoActivity : AppCompatActivity(), OnMapClickListener, OnMapLongClickListener, OnCameraIdleListener, OnMapReadyCallback { private lateinit var tapTextView: TextView private lateinit var cameraTextView: TextView private lateinit var map: GoogleMap override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.events_demo) tapTextView = findViewById(R.id.tap_text) cameraTextView = findViewById(R.id.camera_text) val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment? mapFragment?.getMapAsync(this) } override fun onMapReady(googleMap: GoogleMap) { // return early if the map was not initialised properly map = googleMap map.setOnMapClickListener(this) map.setOnMapLongClickListener(this) map.setOnCameraIdleListener(this) } override fun onMapClick(point: LatLng) { tapTextView.text = "tapped, point=$point" } override fun onMapLongClick(point: LatLng) { tapTextView.text = "long pressed, point=$point" } override fun onCameraIdle() { if (!::map.isInitialized) return cameraTextView.text = map.cameraPosition.toString() } }
Java
public class EventsDemoActivity extends AppCompatActivity implements OnMapClickListener, OnMapLongClickListener, OnCameraIdleListener, OnMapReadyCallback { private TextView tapTextView; private TextView cameraTextView; private GoogleMap map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.events_demo); tapTextView = findViewById(R.id.tap_text); cameraTextView = findViewById(R.id.camera_text); SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); } @Override public void onMapReady(GoogleMap map) { this.map = map; this.map.setOnMapClickListener(this); this.map.setOnMapLongClickListener(this); this.map.setOnCameraIdleListener(this); } @Override public void onMapClick(LatLng point) { tapTextView.setText("tapped, point=" + point); } @Override public void onMapLongClick(LatLng point) { tapTextView.setText("long pressed, point=" + point); } @Override public void onCameraIdle() { cameraTextView.setText(map.getCameraPosition().toString()); } }
Cloner et exécuter les exemples
Git est requis pour exécuter cet exemple en local. La commande suivante clone le dépôt de l'application exemple.
git clone git@github.com:googlemaps-samples/android-samples.git
Importez le projet exemple dans Android Studio :
- Dans Android Studio, sélectionnez File > New > Import Project (Fichier > Nouveau > Importer un projet).
Accédez à l'emplacement où vous avez enregistré le dépôt et sélectionnez le répertoire du projet pour Kotlin ou Java :
- Kotlin :
PATH-REPO/android-samples/ApiDemos/kotlin
- Java :
PATH-REPO/android-samples/ApiDemos/java
- Kotlin :
- Sélectionnez Ouvrir. Android Studio crée votre projet à l'aide de l'outil de compilation Gradle.
- Créez un fichier
secrets.properties
vide dans le même répertoire que le fichierlocal.properties
de votre projet. Pour en savoir plus, consultez Ajouter votre clé API au projet. Ajoutez la chaîne suivante à
secrets.properties
en remplaçant YOUR_API_KEY par la valeur de votre clé API :MAPS_API_KEY=YOUR_API_KEY
- Exécutez l'application.