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

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

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

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

解決済

1回答

1499閲覧

Swift2のMKMapkitでannotation.titleの内容を変更したいのです

candymat

総合スコア16

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

0クリップ

投稿2016/04/02 03:30

Swift2でマップに1つだけ品を作成してタイトルに文字を入れてaddannitationしています!
ボタンを押したときに1つのピンのtitleを変更する方法がわからないのです。

初めにタイトルを入れる時は
viewDidLoadで
an = MKPointAnnotation()
an.title ="test"
mapView.addAnnotation(an)

とした後でボタンを押すと、"test"を別の文字に変更したいのですが?

どの様に考えれば良いのでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

一つのPinであれば、以下の様にインスタンス変数として保持しておくのが一番簡単です。

swift

1import UIKit 2import MapKit 3 4class ViewController: UIViewController, MKMapViewDelegate { 5 6 // MapView 7 @IBOutlet weak var myMapView: MKMapView! 8 9 // Pinをインスタンス変数として定義 10 let an = MKPointAnnotation() 11 12 // 経度緯度. 13 let myLan: CLLocationDegrees = 37.331741 14 let myLon: CLLocationDegrees = -122.030333 15 16 var center: CLLocationCoordinate2D! 17 18 override func viewDidLoad() { 19 super.viewDidLoad() 20 21 // 地図の中心の座標. 22 center = CLLocationCoordinate2DMake(myLan, myLon) 23 myMapView.centerCoordinate = center 24 25 // 縮尺を指定. 26 let mySpan: MKCoordinateSpan = MKCoordinateSpan(latitudeDelta: 0.1, longitudeDelta: 0.1) 27 let myRegion: MKCoordinateRegion = MKCoordinateRegion(center: center, span: mySpan) 28 29 // regionをmapViewに追加. 30 myMapView.region = myRegion 31 32 // Pinを作成 33 an.title = "test" 34 an.coordinate = center 35 myMapView.addAnnotation(an) 36 } 37 38 @IBAction func changeTitle(sender: UIButton) { 39 // ボタン押下時にPinのタイトルを変更 40 an.title = "テスト" 41 } 42}

投稿2016/04/03 03:50

編集2016/04/03 03:52
_Kentarou

総合スコア8490

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

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

candymat

2016/04/03 04:56

ありがとうございました! 言われてみると初歩的な事が分かっていなかった事ですm(__)m すべて解決いたしました( ^ω^ )
hameji

2018/05/27 19:44

この場合、内容を変更するので、 letではなく、varでは無いですか?
_Kentarou

2018/05/27 23:44

クラスの中のプロパティの値を変更しているので、大丈夫です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問