Maps SDK for Android でダークテーマにするにはどうすればいいのか。
googleMap.setMapColorScheme(MapColorScheme.DARK)
以上!
なお、MapColorScheme.LIGHT
なら通常の色、MapColorScheme.FOLLOW_SYSTEM
ならシステム設定に従います。
2024年6月25日からこれが使えるようになりました。
ChatGPT先生に聞いても古い情報を教えてくるので注意しましょう!
以下、「Maps SDK for Android でダークテーマ(のようなもの)」と題していた古い情報です。
はじめに
Maps SDK for Android でダークテーマにするにはどうすればいいのか。
オプションで darkMode みたいなものが無いのか 探したけど見つかりませんでした。
公式ドキュメントの中も、Qiitaの中も探したけれど見つからないのに、
探すのをやめたとき、見つかることもよくある話で、 スタイル設定 でできることに気づきました。
やりかた
公式ドキュメントを読んでね。
やりかた(ベータ版)
「Maps SDK for Android v.3.1.0 ベータ版」 では、「クラウドベースの地図のスタイル機能」が使えるようです。
アプリのアップデートよりも短期間に地図のスタイルを変える場合に有効ですが、そんなケースがあるんでしょうか・・・。ベータ版だし、あまり積極的に使いたくない感じです。
スタイル詳細
ダークモード相当のJSONスタイルは2つ見つけられました。
1つ目は、公式ドキュメントの中にあるサンプルのリソースです。
駅が真っ暗で「駅っぽさ」が無くなってしまいます。
2つ目は、公式ドキュメントからリンクがある Maps Platform Styling Wizard で作ったスタイルです。
駅はそのままですが、比較してみると「中央線」の文字が見やすくなっています。(個人の感想です)
一方、Google謹製のMapアプリを見てみましょう
圧倒的に見やすいですね!
駅もちゃんとしているし、謎に悪目立ちしてたオレンジの文字もいい感じになってます。
これを参考にJSONスタイルをぽちぽち作っていけば、オリジナルアプリでも同じ表示にできるんでしょうか。しかし、膨大なオプションが存在し、やってられません。
まとめ
- Maps SDK for Android に、darkMode みたいなオプションは無いが、スタイルを当てることでダークモードが可能
- サンプルのダークモードスタイルはちょっと微妙
- 自力でスタイルJSONを作るのは非現実的
- 視認性の高いダークモードスタイルJSON、どっかにありませんか?