En este ejemplo, te indicamos cómo escuchar y administrar algunos eventos en el mapa.
Para obtener más información, consulta la documentación.
Comenzar
Antes de probar el código de muestra, debes configurar tu entorno de desarrollo. Para obtener más información, consulta Muestras de código del SDK de Maps SDK para Android.
Consulta el código
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()); } }
Clona y ejecuta las muestras
Se requiere Git para ejecutar esta muestra a nivel local. Con el siguiente comando, se clona el repositorio de la aplicación de ejemplo.
git clone git@github.com:googlemaps-samples/android-samples.git
Importa el proyecto de muestra en Android Studio:
- En Android Studio, selecciona File > New > Import Project.
Ve a la ubicación en la que guardaste el repositorio y selecciona el directorio del proyecto para Kotlin o Java:
- Kotlin:
PATH-REPO/android-samples/ApiDemos/kotlin
- Java:
PATH-REPO/android-samples/ApiDemos/java
- Kotlin:
- Selecciona Open. Android Studio creará tu proyecto con la herramienta de compilación Gradle.
- Crea un archivo
secrets.properties
en blanco en el mismo directorio en el que se encuentra el archivolocal.properties
de tu proyecto. Para obtener más información, consulta Agrega tu clave de API al proyecto. Agrega la siguiente cadena a
secrets.properties
reemplazando YOUR_API_KEY con el valor de tu clave de API:MAPS_API_KEY=YOUR_API_KEY
- Ejecuta la app.