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
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()
}
}
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.