質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

1118閲覧

位置情報を追加する方法

YamatoS

総合スコア2

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/05/21 23:41

おはようございます。いつもありがとうございます。
今回、」質問させていただきたいのがすでに自分の位置情報を取得している上で、更に緯度経度にポイントを設定し、Map上へ表示する方法というのはどのようなものがあるのでしょうか。
自分でも調べてみたのですが、なかなか参考のものが出てきませんでした
お手数ですがどなたかよろしくお願い致します。

swift

1 2 3 4 5 6import UIKit 7import MapKit 8import CoreLocation 9 10class ViewController: UIViewController ,MKMapViewDelegate, 11 CLLocationManagerDelegate{ 12 13 @IBOutlet weak var PlusButton: UIButton! 14 15 var locationManager = CLLocationManager() 16 17 18 19 20 // MapViewのインスタンス生成. 21 let mapView = MKMapView() 22 23 24 25 override func viewDidLoad() { 26 super.viewDidLoad() 27 28 locationManager.delegate = self 29 30 // 画面背景色を設定 31 self.view.backgroundColor = UIColor(red:0.7,green:0.7,blue:0.7,alpha:1.0) 32 33 34 35 } 36 37 38 39 40 41 @IBAction func PlusButton(_ sender: Any) { 42 performSegue(withIdentifier: "next",sender: nil) 43 44 45 46 } 47 48 // 画面回転にも対応する 49 override func viewDidAppear(_ animated: Bool) { 50 var topPadding: CGFloat = 0 51 var bottomPadding: CGFloat = 0 52 var leftPadding: CGFloat = 0 53 var rightPadding: CGFloat = 0 54 55 if #available(iOS 11.0, *) { 56 // 'keyWindow' was deprecated in iOS 13.0: Should not be used for applications 57 let window = UIApplication.shared.windows.filter {$0.isKeyWindow}.first 58 topPadding = window!.safeAreaInsets.top 59 bottomPadding = window!.safeAreaInsets.bottom 60 leftPadding = window!.safeAreaInsets.left 61 rightPadding = window!.safeAreaInsets.right 62 } 63 64 //位置情報サービスの確認 65 CLLocationManager.locationServicesEnabled() 66 67 // セキュリティ認証のステータス 68 let status = CLLocationManager.authorizationStatus() 69 70 if(status == CLAuthorizationStatus.notDetermined) { 71 print("NotDetermined") 72 // 許可をリクエスト 73 locationManager.requestWhenInUseAuthorization() 74 75 } 76 else if(status == CLAuthorizationStatus.restricted){ 77 print("Restricted") 78 } 79 else if(status == CLAuthorizationStatus.authorizedWhenInUse){ 80 print("authorizedWhenInUse") 81 } 82 else if(status == CLAuthorizationStatus.authorizedAlways){ 83 print("authorizedAlways") 84 } 85 else{ 86 print("not allowed") 87 } 88 89 // 位置情報の更新 90 locationManager.startUpdatingLocation() 91 92 93 94 // MapViewをSafeAreaに収める(Portraitのケース) 95 // 以降、Landscape のみを想定 96 let screenWidth = view.frame.size.width 97 let screenHeight = view.frame.size.height 98 99 let rect = CGRect(x: leftPadding, 100 y: topPadding, 101 width: screenWidth - leftPadding - rightPadding, 102 height: screenHeight - topPadding - bottomPadding ) 103 104 mapView.frame = rect 105 106 // Delegateを設定. 107 mapView.delegate = self 108 109 // 縮尺を設定 110 var region:MKCoordinateRegion = mapView.region 111 region.center = mapView.userLocation.coordinate 112 113 region.span.latitudeDelta = 0.04 114 region.span.longitudeDelta = 0.04 115 116 mapView.frame = view.bounds 117 118 mapView.setRegion(region,animated:true) 119 120 // MapViewをViewに追加. 121 self.view.addSubview(mapView) 122 123 mapView.mapType = MKMapType.hybrid 124 125 mapView.userTrackingMode = MKUserTrackingMode.follow 126 mapView.userTrackingMode = MKUserTrackingMode.followWithHeading 127 128 // MapViewをViewに追加 129 self.view.addSubview(mapView) 130 view.addSubview(PlusButton) 131 132 mapView.layer.zPosition = 1 133 134 } 135 136 func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) 137 { 138        print("region changed") 139 } 140 141 142 143 144 145 146} 147 148 149参考のサイトや 150 151 152 153 154 155 156 157 158

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ぴんをたてればいいんじゃないですか?

投稿2020/05/22 11:28

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問