LoginSignup
4
4

More than 3 years have passed since last update.

SwiftでMapタイプの切り替え方

Posted at

何をやるのか?

簡易的なMapアプリのオプション機能として、mapタイプの切り替えを行う。

前提

MapKitにてMapが設置されていることを前提とする。

Mapの種類

画面 定義 内容        
スクリーンショット 2019-07-30 17.41.45.png .mutedStandard 交通機関
スクリーンショット 2019-07-30 17.42.29.png .standard 標準の地図
スクリーンショット 2019-07-30 17.43.53.png .satellite 航空写真
スクリーンショット 2019-07-30 17.44.14.png .hybrid 航空写真
+
ラベル
スクリーンショット 2019-07-30 17.44.40.png .satelliteFlyover 3D Flyover
スクリーンショット 2019-07-30 17.45.07.png .hybridFlyover 3D Flyover
+
ラベル

実装コード

@IBAction func changeMapButton(_ sender: UIButton) {
        if Map.mapType == .standard {
            Map.mapType = .satellite
        } else if Map.mapType == .satellite{
            Map.mapType = .hybrid
        } else if Map.mapType == .hybrid{
            Map.mapType = .satelliteFlyover
        } else if Map.mapType == .satelliteFlyover{
            Map.mapType = .hybridFlyover
        } else if Map.mapType == .hybridFlyover{
            Map.mapType = .mutedStandard
        } else {
            Map.mapType = .standard
        }
    }

if文を使い現在のmapTypeと各mapTypeを順番に比較し、もし同じTypeだった場合次のTypeを代入するという簡単なコードになっています。
x-codeのフレームワークのButtonをStoryboardに貼り、それに対応する関数内に記述すれば問題ありません。

最後に

非常に簡単な実装ですが、割と本格的なアプリのように仕上がるので、初学者の方やプログラミングやった事ないけど興味ある人も是非一度実装して、開発の楽しさを体験してみましょう。

4
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4