web-dev-qa-db-fra.com

Mode nuit pour Google maps?

Ma question est simple. Existe-t-il un mode nuit pour Google maps? Jusqu'à présent, je n'ai pu appliquer que GoogleMap.MAP_TYPE_NORMAL | GoogleMap.MAP_TYPE_TERRAIN | GoogleMap.MAP_TYPE_SATELLITE mais n'a pas pu trouver Mode nuit . Je veux quelque chose comme ça enter image description here

S'il vous plaît ne me proposez pas d'utiliser la superposition , j'ai déjà essayé. Je ne peux pas l'utiliser car je dois y placer des marqueurs.

Je suis tombé sur ce post mais il a 2 ans et je suppose qu'il devrait y avoir une amélioration.

21
Shahzeb

Google vient annoncé d'avoir lancé un style de carte personnalisé pour Android et iOS avec un nouveau assistant de style qui vous permet de Concevez le style une fois et appliquez-le sur toutes les plateformes prises en charge: Android, iOS, API JavaScript et même API Static Maps.

Les documents de développeur Google Maps Android API API fournissent même un exemple de style de travail mode nuit . Un exemple de code utilisant des styles personnalisés est également disponible.

18
Ville N.

Il est facile de créer un dossier brut et de cliquer avec le bouton droit sur le dossier brut et de sélectionner nouveau dans ce nouveau fichier de sélection, puis de taper le nom du fichier, par exemple: map_in_night puis cliquez sur ok après qu'il affiche différents formats ne confondez pas, vous sélectionnez simplement json et cliquez sur ok et dans ce fichier json il suffit d'ajouter le code ci-dessous

[
  {
    "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
      }
    ]
  }
]

dans onMapReady il suffit d'ajouter

mMap = googleMap;  
mMap.setMapStyle(MapStyleOptions.loadRawResourceStyle(this, R.raw.mapstyle_night));

C'est tout

16
Manoj Reddy

Se diriger vers :

https://mapstyle.withgoogle.com

Créez ce dont vous avez besoin, copiez le json, enregistrez-le dans un fichier .json, mettez-le sur res/raw, puis utilisez:

mMap.setMapStyle(MapStyleOptions.loadRawResourceStyle(this, R.raw.name));

Vous devez appeler la fonction ci-dessus sur: le rappel onMapReady.

4
steve moretz