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

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

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

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

Q&A

0回答

1214閲覧

Could not retrieve region info の直し方

katuobot

総合スコア6

Swift

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

0グッド

0クリップ

投稿2020/06/07 08:02

編集2022/01/12 10:55

swift5

1 2import UIKit 3import MapKit 4 5class MapViewController: UIViewController { 6 7 @IBOutlet weak var mapView: MKMapView! 8 //座標の配列 9 let coordinatesArray = [ 10 ["name":"東京駅", "lat":35.68124, "lon": 139.76672], 11 ["name":"皇居外苑", "lat":35.68026, "lon": 139.75801], 12 ["name":"国立劇場", "lat":35.6818, "lon": 139.74326], 13 ["name":"九段下駅", "lat":35.69555, "lon": 139.75074] 14 ] 15 16 override func viewDidLoad() { 17 super.viewDidLoad() 18 self.mapView.delegate = self 19 makeMap() 20 } 21 22 func makeMap(){ 23 //マップの表示域を設定 24 let coordinate = CLLocationCoordinate2DMake(coordinatesArray[0]["lat"] as! CLLocationDegrees, coordinatesArray[0]["lon"] as! CLLocationDegrees) 25 let span = MKCoordinateSpan(latitudeDelta: 0.05, longitudeDelta: 0.05) 26 let region = MKCoordinateRegion(center: coordinate, span: span) 27 self.mapView.setRegion(region, animated: true) 28 29 30 var routeCoordinates: [CLLocationCoordinate2D] = [] 31 for i in 0..<coordinatesArray.count { 32 let annotation = MKPointAnnotation() 33 let annotationCoordinate = CLLocationCoordinate2DMake(coordinatesArray[i]["lat"] as! CLLocationDegrees, coordinatesArray[i]["lon"] as! CLLocationDegrees) 34 annotation.title = coordinatesArray[i]["name"] as? String //ピンの吹き出しに名前が出るように 35 annotation.coordinate = annotationCoordinate 36 routeCoordinates.append(annotationCoordinate) 37 self.mapView.addAnnotation(annotation) 38 } 39 var myRoute: MKRoute! 40 let directionsRequest = MKDirections.Request() 41 var placemarks = [MKMapItem]() 42 //routeCoordinatesの配列からMKMapItemの配列にに変換 43 for item in routeCoordinates{ 44 let placemark = MKPlacemark(coordinate: item, addressDictionary: nil) 45 placemarks.append(MKMapItem(placemark: placemark)) 46 } 47 directionsRequest.transportType = .walking //移動手段は徒歩 48 for (k, item) in placemarks.enumerated(){ 49 if k < (placemarks.count - 1){ 50 directionsRequest.source = item //スタート地点 51 directionsRequest.destination = placemarks[k + 1] //目標地点 52 let direction = MKDirections(request: directionsRequest) 53 direction.calculate(completionHandler: {(response, error) in 54 if error == nil { 55 myRoute = response?.routes[0] 56 self.mapView.addOverlay(myRoute.polyline, level: .aboveRoads) //mapViewに絵画 57 } 58 }) 59 } 60 } 61 } 62} 63 64extension MapViewController:MKMapViewDelegate { 65 66 func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? { 67 if annotation is MKUserLocation { 68 return nil 69 } 70 let reuseId = "pin" 71 var pinView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseId) 72 if pinView == nil { 73 pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId) 74 pinView?.canShowCallout = true //吹き出しで情報を表示出来るように 75 }else{ 76 pinView?.annotation = annotation 77 } 78 return pinView 79 } 80 81 //ピンを繋げている線の幅や色を調整 82 func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer { 83 let route: MKPolyline = overlay as! MKPolyline 84 let routeRenderer = MKPolylineRenderer(polyline: route) 85 routeRenderer.strokeColor = UIColor(red:1.00, green:0.35, blue:0.30, alpha:1.0) 86 routeRenderer.lineWidth = 3.0 87 return routeRenderer 88 } 89 90} 91`` 92 93これでビルドするとCould not retrieve region infoというエラーが出てしまいます。 94地図を使ってルート検索をしたいのですが地図しか出ないです。 95解決方法を教えていただきたいです。 96実機ではないです。 97macOs catalina 98xcode 11.5

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

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

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

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

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

hoshi-takanori

2020/06/07 19:34

そのコードを Xcode に貼り付けて動かしたらちゃんとルートが表示されましたよ。(Compiler error: Invalid library file という謎のメッセージが出てますが。) Could not retrieve region info というエラーは、何をした時にどこに出ますか? また、開発環境 (macOS, Xcode, iOS のバージョン、実機なら iPhone の機種など) もお書きください。 それから、コードのインデントが失われて読みにくいので、<code> 機能を使って読みやすくしてくれると助かります。 https://orenodiy.com/teratail-question-howto#toc8
katuobot

2020/06/08 09:49

遅れてしまい申し訳ございません。修正しました。 お願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問