- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MKMapkitの緯度経度を配列から呼びたい)
MKMapkitの緯度経度を配列から呼びたい
このQ&Aのポイント
- Objective-cで開発を行っている初心者が、MKMapkitを使って地図上にピンを立てる位置情報をNSMutableArrayから呼び出す方法について質問しています。
- 配列を作成し、緯度経度の情報をNSNumber型で追加した後、CustomAnnotationクラスのインスタンスを作成し、そのインスタンスを使ってピンを立てようとしていますが、'CLLoactionDegrees'に'CLLocationCoordinate2DMake'の引数としてid型が渡されているためエラーが発生しています。
- 緯度経度の引数はdouble型であるため、NSNumberからそのまま渡すことはできません。NSNumberのdoubleValueメソッドを使用して緯度値を取得し、CLLocationCoordinate2DMakeの引数に渡す必要があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
NSMutableArrayクラスの配列要素はid型であり、double型ではありません。 配列要素を使用する際は、以下のようにしてdouble型に戻してやる必要があります。 ((NSNumber *)Latitude[0]).doubleValue 使用頻度が高いなら、以下のようなマクロを定義して、それで変換してもよいと思います。 #define numberToDouble(number) (((NSNumber *)(number)).doubleValue) ↓ numberToDouble(Latitude[0])
お礼
いつも丁寧にありがとうございます。 [Latitude addObject:[NSNumber numberWithDouble:35]];のように格納するだけではダメなのですね・・・勉強になりました。 使用頻度は高くなると思うので、下の方の方法で実践してみたいと思います。