• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MKMapkitの緯度経度を配列から呼びたい)

MKMapkitの緯度経度を配列から呼びたい

このQ&Aのポイント
  • Objective-cで開発を行っている初心者が、MKMapkitを使って地図上にピンを立てる位置情報をNSMutableArrayから呼び出す方法について質問しています。
  • 配列を作成し、緯度経度の情報をNSNumber型で追加した後、CustomAnnotationクラスのインスタンスを作成し、そのインスタンスを使ってピンを立てようとしていますが、'CLLoactionDegrees'に'CLLocationCoordinate2DMake'の引数としてid型が渡されているためエラーが発生しています。
  • 緯度経度の引数はdouble型であるため、NSNumberからそのまま渡すことはできません。NSNumberのdoubleValueメソッドを使用して緯度値を取得し、CLLocationCoordinate2DMakeの引数に渡す必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

NSMutableArrayクラスの配列要素はid型であり、double型ではありません。 配列要素を使用する際は、以下のようにしてdouble型に戻してやる必要があります。 ((NSNumber *)Latitude[0]).doubleValue 使用頻度が高いなら、以下のようなマクロを定義して、それで変換してもよいと思います。 #define numberToDouble(number) (((NSNumber *)(number)).doubleValue) ↓ numberToDouble(Latitude[0])

katsuo777
質問者

お礼

いつも丁寧にありがとうございます。 [Latitude addObject:[NSNumber numberWithDouble:35]];のように格納するだけではダメなのですね・・・勉強になりました。 使用頻度は高くなると思うので、下の方の方法で実践してみたいと思います。

関連するQ&A