Eso es todo.

Para comenzar a desarrollar, consulta nuestra documentación para desarrolladores.

Activar la Google Maps Android API

Para que puedas comenzar, te proporcionaremos orientación en la Google Developers Console a fin de que hagas primero algunas acciones:

  1. Crear o seleccionar un proyecto
  2. Activar la Google Maps Android API
  3. Crear claves correspondientes
Continuar

Ocultar funciones de los mapas con ajustes de estilo

Además de cambiar el estilo de las funciones en el mapa, también puedes ocultarlas por completo. En este ejemplo, se muestra la manera de ocultar puntos de interés comerciales (POI) e íconos de transporte público en tu mapa.

La aplicación de ajustes de estilo solo funciona en el tipo de mapa normal.

Pasa un objeto de estilo JSON a tu mapa

Para aplicar estilo a tu mapa, llama a GoogleMap.setMapStyle() y pásale un objeto MapStyleOptions que contenga tus declaraciones de estilo en formato JSON. Puedes cargar JSON desde un recurso sin procesar o una string, como se muestra en los siguientes ejemplos:

Recurso sin procesar

En el siguiente ejemplo de código se supone que tu proyecto contiene un recurso sin procesar llamado style_json:

/**
 * A styled map using JSON styles from a raw resource.
 */
public class MapsActivityRaw extends AppCompatActivity
        implements OnMapReadyCallback {

    private static final String TAG = MapsActivityRaw.class.getSimpleName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Retrieve the content view that renders the map.
        setContentView(R.layout.activity_maps_raw);

        // Get the SupportMapFragment and register for the callback
        // when the map is ready for use.
        SupportMapFragment mapFragment =
                (SupportMapFragment) getSupportFragmentManager()
                        .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }

    /**
     * Manipulates the map when it's available.
     * The API invokes this callback when the map is ready for use.
     */
    @Override
    public void onMapReady(GoogleMap googleMap) {

        try {
            // Customise the styling of the base map using a JSON object defined
            // in a raw resource file.
            boolean success = googleMap.setMapStyle(
                    MapStyleOptions.loadRawResourceStyle(
                            this, R.raw.style_json));

            if (!success) {
                Log.e(TAG, "Style parsing failed.");
            }
        } catch (Resources.NotFoundException e) {
            Log.e(TAG, "Can't find style. Error: ", e);
        }
        // Position the map's camera near Sydney, Australia.
        googleMap.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(-34, 151)));
    }
}

Define un recurso sin procesar en /res/raw/style_json.json, que contenga la siguiente declaración de estilo JSON para ocultar puntos de interés (POI) comerciales:

La siguiente declaración de estilo oculta puntos de interés (POI) comerciales e íconos de transporte público:

El diseño (activity_maps.xml) tiene el siguiente aspecto:

Recurso de strings

En el siguiente código de ejemplo se supone que tu proyecto contiene un recurso de string llamado style_json:

package com.example.styledmap;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;

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.MapStyleOptions;

/**
 * A styled map using JSON styles from a string resource.
 */
public class MapsActivityString extends AppCompatActivity
        implements OnMapReadyCallback {

    private static final String TAG = MapsActivityString.class.getSimpleName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Retrieve the content view that renders the map.
        setContentView(R.layout.activity_maps_string);

        // Get the SupportMapFragment and register for the callback
        // when the map is ready for use.
        SupportMapFragment mapFragment =
                (SupportMapFragment) getSupportFragmentManager()
                        .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }

    /**
     * Manipulates the map when it's available.
     * The API invokes this callback when the map is ready for use.
     */
    @Override
    public void onMapReady(GoogleMap googleMap) {

        // Customise the styling of the base map using a JSON object defined
        // in a string resource file. First create a MapStyleOptions object
        // from the JSON styles string, then pass this to the setMapStyle
        // method of the GoogleMap object.
        boolean success = googleMap.setMapStyle(new MapStyleOptions(getResources()
                .getString(R.string.style_json)));

        if (!success) {
            Log.e(TAG, "Style parsing failed.");
        }
        // Position the map's camera near Sydney, Australia.
        googleMap.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(-34, 151)));
    }
}

Define un recurso de string en /res/values/style_strings.xml, que contenga la siguiente declaración de estilo JSON para ocultar puntos de interés (POI) comerciales. En este archivo, debes usar una barra invertida para evadir las comillas:

La siguiente declaración de estilo oculta puntos de interés (POI) comerciales e íconos de transporte público:

El diseño (activity_maps.xml) tiene el siguiente aspecto:

Declaraciones de estilo JSON

En los mapas con ajustes de estilo se usan dos conceptos para aplicar colores y otros cambios de estilo a un mapa:

  • Los selectores especifican los componentes geográficos a los cuales puedes aplicar estilo en el mapa. Entre estos componentes se incluyen carreteras, parques y masas de agua, entre otros, además de sus etiquetas. Entre los selectores se incluyen funciones y elementos, que se especifican como propiedades featureType y elementType.
  • Los parámetros de estilo son propiedades de color y visibilidad que puedes aplicar a elementos del mapa. Definen el color de visualización a través de una combinación de valores de matriz, color y luminosidad o gama.

Consulta la referencia de estilo para acceder a una descripción detallada de las opciones de ajuste de estilo de JSON.

Google Maps APIs Styling Wizard

Usa Google Maps APIs Styling Wizard como método rápido para generar un objeto de ajuste de estilo JSON. La Google Maps Android API admite las mismas declaraciones de estilo que la Google Maps JavaScript API.

Ejemplos de código completos

En el repositorio de ApiDemos de GitHub se incluyen ejemplos en los cuales se muestra el uso de los ajustes de estilo.

Enviar comentarios sobre...

Google Maps Android API
Google Maps Android API
Si necesitas ayuda, visita nuestra página de asistencia.