Android Stili di Google Maps personalizzati

Esempio

Stile della mappa

Google Maps include una serie di stili diversi da applicare, utilizzando questo codice:

// Sets the map type to be "hybrid"
map.setMapType(GoogleMap.MAP_TYPE_HYBRID);

I diversi stili di mappa sono:

Normale

map.setMapType(GoogleMap.MAP_TYPE_NORMAL);

Tipica mappa stradale. Vengono mostrate strade, alcune caratteristiche create dall'uomo e importanti caratteristiche naturali come i fiumi. Sono inoltre visibili le etichette stradali e delle funzionalità.

inserisci la descrizione dell'immagine qui

Ibrido

map.setMapType(GoogleMap.MAP_TYPE_HYBRID);

Dati di fotografie satellitari con mappe stradali aggiunte. Sono inoltre visibili le etichette stradali e delle funzionalità.

inserisci la descrizione dell'immagine qui

Satellitare

map.setMapType(GoogleMap.MAP_TYPE_SATELLITE);

Dati di fotografia satellitare Le etichette stradali e le caratteristiche non sono visibili.

inserisci la descrizione dell'immagine qui

Terreno

map.setMapType(GoogleMap.MAP_TYPE_TERRAIN);

Dati topografici La mappa include i colori, le linee di contorno e le etichette e l'ombreggiatura prospettica. Sono anche visibili alcune strade ed etichette.

inserisci la descrizione dell'immagine qui

Nessuna

map.setMapType(GoogleMap.MAP_TYPE_NONE);

Nessuna tessera. La mappa verrà visualizzata come una griglia vuota senza tessere caricate.

inserisci la descrizione dell'immagine qui


ALTRE OPZIONI DI STILE

Mappe dell'interno

A livelli di zoom elevati, la mappa mostrerà le planimetrie per gli spazi interni. Queste sono chiamate mappe interne e sono visualizzate solo per i tipi di mappe "normali" e "satellite".

per abilitare o disabilitare le mappe interne, ecco come è fatto:

GoogleMap.setIndoorEnabled(true).
GoogleMap.setIndoorEnabled(false).

Possiamo aggiungere stili personalizzati alle mappe.

Nel metodo onMapReady aggiungi il seguente snippet di codice

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

        if (!success) {
            Log.e(TAG, "Style parsing failed.");
        }
    } catch (Resources.NotFoundException e) {
        Log.e(TAG, "Can't find style.", e);
    }

sotto la cartella res creare un nome di cartella raw e aggiungere il file json di stile. Esempio di file style.json

    [
  {
    "featureType": "all",
    "elementType": "geometry",
    "stylers": [
      {
        "color": "#242f3e"
      }
    ]
  },
  {
    "featureType": "all",
    "elementType": "labels.text.stroke",
    "stylers": [
      {
        "lightness": -80
      }
    ]
  },
  {
    "featureType": "administrative",
    "elementType": "labels.text.fill",
    "stylers": [
      {
        "color": "#746855"
      }
    ]
  },
  {
    "featureType": "administrative.locality",
    "elementType": "labels.text.fill",
    "stylers": [
      {
        "color": "#d59563"
      }
    ]
  },
  {
    "featureType": "poi",
    "elementType": "labels.text.fill",
    "stylers": [
      {
        "color": "#d59563"
      }
    ]
  },
  {
    "featureType": "poi.park",
    "elementType": "geometry",
    "stylers": [
      {
        "color": "#263c3f"
      }
    ]
  },
  {
    "featureType": "poi.park",
    "elementType": "labels.text.fill",
    "stylers": [
      {
        "color": "#6b9a76"
      }
    ]
  },
  {
    "featureType": "road",
    "elementType": "geometry.fill",
    "stylers": [
      {
        "color": "#2b3544"
      }
    ]
  },
  {
    "featureType": "road",
    "elementType": "labels.text.fill",
    "stylers": [
      {
        "color": "#9ca5b3"
      }
    ]
  },
  {
    "featureType": "road.arterial",
    "elementType": "geometry.fill",
    "stylers": [
      {
        "color": "#38414e"
      }
    ]
  },
  {
    "featureType": "road.arterial",
    "elementType": "geometry.stroke",
    "stylers": [
      {
        "color": "#212a37"
      }
    ]
  },
  {
    "featureType": "road.highway",
    "elementType": "geometry.fill",
    "stylers": [
      {
        "color": "#746855"
      }
    ]
  },
  {
    "featureType": "road.highway",
    "elementType": "geometry.stroke",
    "stylers": [
      {
        "color": "#1f2835"
      }
    ]
  },
  {
    "featureType": "road.highway",
    "elementType": "labels.text.fill",
    "stylers": [
      {
        "color": "#f3d19c"
      }
    ]
  },
  {
    "featureType": "road.local",
    "elementType": "geometry.fill",
    "stylers": [
      {
        "color": "#38414e"
      }
    ]
  },
  {
    "featureType": "road.local",
    "elementType": "geometry.stroke",
    "stylers": [
      {
        "color": "#212a37"
      }
    ]
  },
  {
    "featureType": "transit",
    "elementType": "geometry",
    "stylers": [
      {
        "color": "#2f3948"
      }
    ]
  },
  {
    "featureType": "transit.station",
    "elementType": "labels.text.fill",
    "stylers": [
      {
        "color": "#d59563"
      }
    ]
  },
  {
    "featureType": "water",
    "elementType": "geometry",
    "stylers": [
      {
        "color": "#17263c"
      }
    ]
  },
  {
    "featureType": "water",
    "elementType": "labels.text.fill",
    "stylers": [
      {
        "color": "#515c6d"
      }
    ]
  },
  {
    "featureType": "water",
    "elementType": "labels.text.stroke",
    "stylers": [
      {
        "lightness": -20
      }
    ]
  }
]

Per generare stili file json, fare clic su questo collegamento inserisci la descrizione dell'immagine qui