Hemos visto implementar Marker en Google Maps en Android . Ahora veremos agregar OnClickListner para ese marcador en nuestro Google Maps. En este artículo, veremos cómo agregar OnClickListner al marcador de Google Maps en Android.
¿Qué vamos a construir en este artículo?
Construiremos una aplicación simple en la que mostraremos un marcador en una ubicación específica en un mapa y agregaremos OnClickListner al marcador en Google Maps. qué
Implementación paso a paso
Paso 1: Crear un nuevo proyecto
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación. Asegúrese de seleccionar Actividad de mapas al crear un nuevo proyecto.
Paso 2: generar una clave API para usar Google Maps
Para generar la clave API para Maps, puede consultar Cómo generar la clave API para usar Google Maps en Android . Después de generar su clave API para Google Maps. Tenemos que añadir esta clave a nuestro Proyecto. Para agregar esta clave en nuestra aplicación, navegue a la carpeta de valores> archivo google_maps_api.xml y en la línea 23 debe agregar su clave API en lugar de YOUR_API_KEY .
Paso 3: Agregar OnClickListner a Marker en Google Maps
MapsActivity.java MapsActivity.java
Java
import android.os.Bundle; import android.widget.Toast; import androidx.fragment.app.FragmentActivity; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.OnMapReadyCallback; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.Marker; import com.google.android.gms.maps.model.MarkerOptions; import java.util.ArrayList; public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { private GoogleMap mMap; // below are the latitude and longitude // of 4 different locations. LatLng sydney = new LatLng(-34, 151); LatLng TamWorth = new LatLng(-31.083332, 150.916672); LatLng NewCastle = new LatLng(-32.916668, 151.750000); LatLng Brisbane = new LatLng(-27.470125, 153.021072); // two array list for our lat long and location Name; private ArrayList<LatLng> latLngArrayList; private ArrayList<String> locationNameArraylist; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); // Obtain the SupportMapFragment and get notified when the map is ready to be used. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); // initializing our array lists. latLngArrayList = new ArrayList<>(); locationNameArraylist = new ArrayList<>(); // on below line we are adding // data to our array list. latLngArrayList.add(sydney); locationNameArraylist.add("Sydney"); latLngArrayList.add(TamWorth); locationNameArraylist.add("TamWorth"); latLngArrayList.add(NewCastle); locationNameArraylist.add("New Castle"); latLngArrayList.add(Brisbane); locationNameArraylist.add("Brisbase"); } @Override public void onMapReady(GoogleMap googleMap) { mMap = googleMap; // below line is to add marker to google maps for (int i = 0; i < latLngArrayList.size(); i++) { // adding marker to each location on google maps mMap.addMarker(new MarkerOptions().position(latLngArrayList.get(i)).title("Marker in " + locationNameArraylist.get(i))); // below line is use to move camera. mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); } // adding on click listener to marker of google maps. mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { @Override public boolean onMarkerClick(Marker marker) { // on marker click we are getting the title of our marker // which is clicked and displaying it in a toast message. String markerName = marker.getTitle(); Toast.makeText(MapsActivity.this, "Clicked location is " + markerName, Toast.LENGTH_SHORT).show(); return false; } }); } }
Después de agregar este código. Ahora ejecute su aplicación y vea el resultado de la aplicación.
Producción:
Nota: En Google Developer Console ( https://console.developers.google.com ), asegúrese de que la » API de Android de Google Maps v2 » esté habilitada. Y también asegúrese de que su clave API exista.
Publicación traducida automáticamente
Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA