Contents
はじめに
意外と簡単に作れるMKMapViewを使ったアプリ。
今回は最も簡単に作れる方法を整理してみました。
環境
Xcode 9.3.1
Swift 4.1
MKMapViewの配置と紐付け
①storyboardにMKMapViewをViewControllerにドラッグ。
②次にdelegate。
③storyboard上のViewControllerとCustomeClassが紐づいていることを確認
④次にソースコードとstoryboardを紐付け。
storyboard上のMKMapViewからcontrolキーを押しながらソース上にドラッグ
Nameは『mapview』とします。
こんなコードが自動生成されていれば紐付け完了。
@IBOutlet weak var mapview: MKMapView!
実装
そしていよいよ実装、今回は指定した緯度経度の地図を表示してみます。
MapKitをimportして
import MapKit
表示する緯度と経度をCLLocationCoordinate2DMakeメソッドで指定して
let initialCoordinate = CLLocationCoordinate2DMake(41.9180474,-87.661767)
表示する範囲をMKCoordinateSpanMakeメソッドで指定します。
数値が小さくなるほどズームされます。
let span = MKCoordinateSpanMake(0.5, 0.5)
先ほどの緯度経度と表示範囲をMKCoordinateRegionMakeメソッドで指定して領域を作成します。
let region = MKCoordinateRegionMake(initialCoordinate, span)
作成した領域をMKMapViewに設定して完成です。
mapview.setRegion(region, animated:true)
思ったより簡単でしたね。
全体のソースはこんな感じ。
意外とシンプルかと思います。
import UIKit
import MapKit
class ViewController: UIViewController {
@IBOutlet weak var mapview: MKMapView!
override func viewDidLoad() {
super.viewDidLoad()
let initialCoordinate = CLLocationCoordinate2DMake(41.9180474,-87.661767)
let span = MKCoordinateSpanMake(0.5, 0.5)
let region = MKCoordinateRegionMake(initialCoordinate, span)
mapview.setRegion(region, animated:true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}