swiftマップにピンを表示できず困っています。
printなどで値が渡っているかを確かめたのですが、print自体が表示されませんでした。
コード import UIKit import Firebase import MapKit class ViewController: UIViewController { var Address = "addressPoint" @IBOutlet weak var mapview: MKMapView! @IBOutlet weak var search1: UIButton! @IBOutlet weak var holding: UIButton! @IBOutlet weak var compass: UIButton! override func viewDidLoad() { super.viewDidLoad() search1.layer.cornerRadius = 5.0 // 影の方向(width=右方向、height=下方向、CGSize.zero=方向指定なし) search1.layer.shadowOffset = CGSize(width: 0.0, height: 2.0) // 影の色 search1.layer.shadowColor = UIColor.black.cgColor // 影の濃さ search1.layer.shadowOpacity = 0.6 // 影をぼかし search1.layer.shadowRadius = 4 holding.layer.cornerRadius = 20.0 // 影の方向(width=右方向、height=下方向、CGSize.zero=方向指定なし) holding.layer.shadowOffset = CGSize(width: 0.0, height: 2.0) // 影の色 holding.layer.shadowColor = UIColor.black.cgColor // 影の濃さ holding.layer.shadowOpacity = 0.6 // 影をぼかし holding.layer.shadowRadius = 4 // 影の方向(width=右方向、height=下方向、CGSize.zero=方向指定なし) compass.layer.shadowOffset = CGSize(width: 0.0, height: 2.0) // 影の色 compass.layer.shadowColor = UIColor.black.cgColor // 影の濃さ compass.layer.shadowOpacity = 0.6 // 影をぼかし compass.layer.shadowRadius = 4 } //HoldingViewControllarから持ってきたaddressの値を入れ、MAPにピンを立てる。 @IBAction func pin(_ sender: Any){ self.view.endEditing(true) let myGeocoder:CLGeocoder = CLGeocoder() //住所 let searchStr = Address //住所を座標に変換する。 myGeocoder.geocodeAddressString(searchStr, completionHandler: {(placemarks, error) in if(error == nil) { for placemark in placemarks! { let location:CLLocation = placemark.location! //中心座標 let center = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude) //表示範囲 let span = MKCoordinateSpan(latitudeDelta: 0.001, longitudeDelta: 0.001) //中心座標と表示範囲をマップに登録する。 let region = MKCoordinateRegion(center: center, span: span) self.mapview.setRegion(region, animated: true) //地図にピンを立てる。 let annotation = MKPointAnnotation() annotation.coordinate = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude) self.mapview.addAnnotation(annotation) } } else { print("検索できませんでした。") } }) //改行を入れない。 print(Error.self) } }//
import UIKit
import Firebase
class HoldingViewController: UIViewController {
@IBOutlet weak var cyphertext: UITextField! @IBOutlet weak var addresstext: UITextField! @IBOutlet weak var daystext: UITextField! @IBOutlet weak var timetext: UITextField! @IBOutlet weak var HowManytext: UITextField! @IBOutlet weak var commenttext: UITextField! @IBOutlet weak var decide: UIButton! let db = Firestore.firestore() var addressValue = String?.self override func viewDidLoad() { super.viewDidLoad() decide.layer.cornerRadius = 20.0 } @IBAction func decideButton(_ sender: Any) { //書き込まれた情報をfirebaseに保存する db.collection("users").document("user").setData([ "CypherName": cyphertext.text as Any, "day": daystext.text as Any, "address": addresstext.text as Any, "time": timetext.text as Any, "HowMany": HowManytext.text as Any, "comment": commenttext.text as Any ]) { err in if let err = err { print("Error writing document: (err)") } else { print("ドキュメントに保存されたよ!") //保存したデータを取り出す。 let docRef = self.db.collection("users").document("user") docRef.getDocument { (document, error) in if let document = document, document.exists { let dataDescription = document.data().map(String.init(describing:)) ?? "nil" print("Document data: (dataDescription)") //画面遷移と値渡し let VC = self.storyboard?.instantiateViewController(withIdentifier: "View") as! ViewController var addressPoint = "address" self.present(VC, animated: true, completion: nil) self.dismiss(animated: true, completion: nil)
// self.performSegue(withIdentifier: "home", sender: nil)
} else { print("ドキュメントが取得できませんでした。") } } } } //取り出した"address"(住所)をViewControllarに渡す
// prepare(for: UIStoryboardSegue, sender: Any?)
//
// let VC = segue.destination as! ViewController
//
// VC.addressValue = "address"
//
}
@IBAction func back(_ sender: Any) { dismiss(animated: true, completion: nil) }
}//
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。