##何をやるのか?
簡易的なMapアプリのオプション機能として、mapタイプの切り替えを行う。
##前提
MapKitにてMapが設置されていることを前提とする。
##Mapの種類
画面 | 定義 | 内容 |
---|---|---|
.mutedStandard | 交通機関 | |
.standard | 標準の地図 | |
.satellite | 航空写真 | |
.hybrid | 航空写真 + ラベル |
|
.satelliteFlyover | 3D Flyover | |
.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に貼り、それに対応する関数内に記述すれば問題ありません。
##最後に
非常に簡単な実装ですが、割と本格的なアプリのように仕上がるので、初学者の方やプログラミングやった事ないけど興味ある人も是非一度実装して、開発の楽しさを体験してみましょう。