[iPhoneアプリ開発]地図アプリ2-地図タイプを選択

iPhoneアプリ

iPhoneアプリ開発していきます。

今回作るアプリは、「地図タイプの選択ができる地図アプリ」です。

地図検索アプリの完成図

動画

[iPhoneアプリ開発]地図タイプ選択

地図タイプの選択肢

.standard 標準の地図

.satellite 航空写真

.hybrid 航空写真+地名

 

3D

//3Dビュー
myMap.camera.pitch = 70  //俯角
myMap.camera.altitude = 700  //標高

上のように、設定すると3Dのように視点が変わる。

ソースコード全体

import UIKit
import MapKit


class ViewController: UIViewController {

  override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    
    //地図の左上にスケールを表示させる。
    myMap.showsScale = true
  }

//MapViewとリンク
  @IBOutlet weak var myMap: MKMapView!

  @IBOutlet weak var toolBar: UIToolbar!
  
  
  @IBAction func gotoSpot(_ sender: Any) {
    /*
     ToolBarの横浜を押すと、横浜が表示されるようにする。
     表示する中心座標centerをCLLocationCoordinate2Dで指定
     表示する範囲をMKCoordinateSpanで指定
     緯度・経度の1度は約111kmなので、0.02を指定すると2.22km四方の範囲になる。
     MKCoordinateRegionで、地図の領域を作る。
     setRegionで、指定された範囲が地図で表示される。
     */
    let ido = 35.681236
    let keido =  139.767125
    
    let center = CLLocationCoordinate2D(latitude: ido, longitude: keido)
    
    let span = MKCoordinateSpan(latitudeDelta: 0.02, longitudeDelta: 0.02)
    
    let theRegion = MKCoordinateRegion(center: center, span: span)
    
    myMap.setRegion(theRegion, animated: true)
    
    let pin = MKPointAnnotation()
    
    pin.coordinate = center
    
    pin.title = "here"

    myMap.addAnnotation(pin)
  }
  
  
  @IBAction func changeMapType(_ sender: UISegmentedControl) {
    switch sender.selectedSegmentIndex {
    case 0:
      print(sender.selectedSegmentIndex)
      myMap.mapType = .standard
    case 1:
      print(sender.selectedSegmentIndex)
      myMap.mapType = .satellite
      
    case 2:
      print(sender.selectedSegmentIndex)
      myMap.mapType = .hybrid
      
    case 3:
      print(sender.selectedSegmentIndex)
      myMap.mapType = .standard
      //3Dビュー
      myMap.camera.pitch = 70  //俯角
      myMap.camera.altitude = 700  //標高
      
    default:
      print(sender.selectedSegmentIndex)
      break
    }
  }
}

おすすめ教材

  1. 【6日で速習】iOS 11 Swift 4アプリ開発入門決定版 20個のアプリを作る(ARKit,CoreML,NFC)
  2. 【iOS12対応】未経験者が有名アプリ開発者になるiOS 12の全て 20個以上アプリをつくりプロになる
  3. iOS 11 & Swift 4 – The Complete iOS App Development Bootcamp

 

iPhoneアプリ作成&Swift本

0