web-dev-qa-db-ja.com

グーグルマップのナイトモード?

私の質問は簡単です。 Googleマップにナイトモードはありますか?これまでのところ、適用できるのはGoogleMap.MAP_TYPE_NORMAL | GoogleMap.MAP_TYPE_TERRAIN | GoogleMap.MAP_TYPE_SATELLITEが見つかりませんでした夜間モード。私はこのようなものが欲しい enter image description here

オーバーレイの使用を提案しないでください。すでに試したことがあります。マーカーを付けないといけないので使えません。

this の投稿に出くわしましたが、それは2年前のものであり、多少の改善があるはずです。

21
Shahzeb

Googleは 発表済みAndroidiOS のカスタムマップスタイリングを開始し、新しい スタイリングウィザード を使用して、スタイルを1回設計し、サポートされているすべてのプラットフォーム(Android、iOS、JavaScript API、さらにはStatic Maps API)に全面的に適用します。

GoogleマップAndroid API開発者ドキュメントでは、実際の ナイトモード スタイルの例も提供しています。カスタムスタイルを使用した コードサンプル も利用できます。

18
Ville N.

簡単な方法は、rawフォルダーを作成してrawフォルダーを右クリックし、その新しい選択ファイルで新規を選択して、ファイル名を入力します。例:map_in_night異なる形式が表示されたら、[ok]をクリックします。jsonを選択して[ok]をクリックするだけで混乱しません。 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
      }
    ]
  }
]

onMapReadyに追加するだけです

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

それでおしまい

16
Manoj Reddy

に行く :

https://mapstyle.withgoogle.com

必要なものを作成し、jsonをコピーして.jsonファイルに保存します。res/rawに入れてから、次を使用します:

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

上記の関数を:onMapReadyコールバックで呼び出す必要があります。

4
steve moretz