¿Cómo agregar múltiples marcadores en Google Maps en Android?

Google Map se usa en la mayoría de las aplicaciones que se usan para representar muchas ubicaciones y marcadores en Google Maps. Hemos visto marcadores en los mapas de Google para múltiples ubicaciones. En este artículo, veremos la implementación de Marcadores Múltiples en Google Maps en Android

¿Qué vamos a construir en este artículo? 

Construiremos una aplicación simple en la que mostraremos múltiples marcadores en mapas en diferentes ubicaciones. 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 múltiples marcadores a nuestro mapa

MapsActivity.java MapsActivity.java

Java

import android.os.Bundle;
  
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.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);
     
    // creating array list for adding all our locations.
    private ArrayList<LatLng> locationArrayList;
  
    @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);
          
        // in below line we are initializing our array list.
        locationArrayList = new ArrayList<>();
         
        // on below line we are adding our
        // locations in our array list.
        locationArrayList.add(sydney);
        locationArrayList.add(TamWorth);
        locationArrayList.add(NewCastle);
        locationArrayList.add(Brisbane);
    }
  
    /**
     * Manipulates the map once available.
     * This callback is triggered when the map is ready to be used.
     * This is where we can add markers or lines, add listeners or move the camera. In this case,
     * we just add a marker near Sydney, Australia.
     * If Google Play services is not installed on the device, the user will be prompted to install
     * it inside the SupportMapFragment. This method will only be triggered once the user has
     * installed Google Play services and returned to the app.
     */
    @Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;
        // inside on map ready method
        // we will be displaying all our markers.
        // for adding markers we are running for loop and 
        // inside that we are drawing marker on our map.
        for (int i = 0; i < locationArrayList.size(); i++) {
              
            // below line is use to add marker to each location of our array list.
            mMap.addMarker(new MarkerOptions().position(locationArrayList.get(i)).title("Marker"));
             
            // below lin is use to zoom our camera on map.
            mMap.animateCamera(CameraUpdateFactory.zoomTo(18.0f));
             
            // below line is use to move our camera to the specific location.
            mMap.moveCamera(CameraUpdateFactory.newLatLng(locationArrayList.get(i)));
        }
    }
}

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *