[Swift4]MKMapViewの使い方

はじめに

意外と簡単に作れる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()
    }
}
スポンサーリンク
PR
PR

シェアする

  • このエントリーをはてなブックマークに追加

フォローする