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
}
}
}
おすすめ教材
- 【6日で速習】iOS 11 Swift 4アプリ開発入門決定版 20個のアプリを作る(ARKit,CoreML,NFC)

- 【iOS12対応】未経験者が有名アプリ開発者になるiOS 12の全て 20個以上アプリをつくりプロになる

- iOS 11 & Swift 4 – The Complete iOS App Development Bootcamp

iPhoneアプリ作成&Swift本
0

