見出し画像

New SwiftUI! - Mapkit

新しい"MapKit"です。前までは、構造体を別に作ってそれを"ContentView"に入れ込む形で実装していましたが、これからはフレームワークで対応されることになりました。動画で紹介されていて、10分ぐらいからMapが紹介されています。

まず

import MapKit

です。そして変数宣言です。表示したい地図の緯度、経度を調べます。Google Mapでも調べることができますが、ここではMacのMapで調べます。3Dでやっていますが、2Dでもできます。

調べたい地点でpinを立てます。そして"i"マークを押すとしたの画像のように出てきます。赤丸部分が緯度、経度です。

画像2

調べた数字を、

latitude: 34.6826, longitude: 135.1868

と入れてやります。"center:"の座標を決めます。

 @State private var region = MKCoordinateRegion(center: .init(latitude: 34.681369, longitude: 135.181004), latitudinalMeters: 1000, longitudinalMeters: 1000)

または、

@State private var region = MKCoordinateRegion(center: CLLocationCoordinate2D(latitude: 34.681369, longitude: 135.181004), span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))

でもいけます。

そして

 var body: some View {
       Map(coordinateRegion: self.$region)
   }

とコードを書いてやると、

画像1

地図が表示されました。

こでもこれでは

画像3

上部に間が開いています。この隙間をなくすには、

 Map(coordinateRegion: self.$region)
         .edgesIgnoringSafeArea(.all)

という風に、

.edgesIgnoringSafeArea(.all)

をつけると無くなります。こちらも参考になります。



この記事が気に入ったらサポートをしてみませんか?