おはようございます。いつもありがとうございます。
今回、」質問させていただきたいのがすでに自分の位置情報を取得している上で、更に緯度経度にポイントを設定し、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
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。