iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

【Swift】MapView で Map を表示するだけの記事

本日もタイトルの通り短い内容になりますが、初学者向けに SwiftMapViewMap を表示する方法を紹介したいと思います🏃🏻‍♂️

それではやっていく

今回は下記のように、特定の地点で固定表示できるようにするサンプルを実装してみます。

f:id:yum_fishing:20210112224938p:plain:w300

MKMapView の実装は下記のようになります。CLLocationCoordinate2DMakelatitude(緯度) と longitude(経度) を元に座標を取得し、マップのズームレベルを表す MKCoordinateSpan と共に MKCoordinateRegion を初期化します。あとは、MKMapViewインスタンスメソッド setRegion() でマップの表示領域を変更させることができます。MKCoordinateSpan はドキュメントに記載の通り、0 に近づく程ズームレベルが高くなり、1 に近づく程ズームレベルが低くなります。

        let coordinate = CLLocationCoordinate2DMake(latitude, longitude)
        let span = MKCoordinateSpan(latitudeDelta: 0.065, longitudeDelta: 0.065)
        let region = MKCoordinateRegion(center: coordinate, span: span)

        mapView.setRegion(region, animated: false)
        mapView.isZoomEnabled = false
        mapView.isScrollEnabled = false
        mapView.isUserInteractionEnabled = false

たまに、下記のように setCentersetRegion の両方のメソッドを使ってるサンプルを目にしますが、基本的には setRegion で完結するので setCenter の記述は必要ありません。setCenter はズームレベルを気にせずに、マップの中心を座標に移動する時に使用します。

        let coordinate = CLLocationCoordinate2DMake(field.point.latitude, field.point.longitude)
        mapView.setCenter(coordinate, animated: false)

        let span = MKCoordinateSpan(latitudeDelta: 0.065, longitudeDelta: 0.065)
        let region = MKCoordinateRegion(center: coordinate, span: span)

        mapView.setRegion(region, animated: false)
        mapView.isZoomEnabled = false
        mapView.isScrollEnabled = false
        mapView.isUserInteractionEnabled = false

参考

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com