3

データベースから配列に座標のリストを取得したい (マップに表示する前に)。ただし、データベースでは数値型であり、座標に変換する方法がわかりません。

これは機能しません: 緯度と経度の NSNumbers を持つ ATM オブジェクト (座標は ATM マシン用) があります。これは、それらを1つずつ引き出すために、インデックスiのループにあります。atmsArray は既にロードされています。

ATM *aATM = [self.atmsArray objectAtIndex:i];


CLLocationCoordinate2D coord=[[CLLocationCoordinate2D alloc] initWithLatitude:(CLLocationDegrees)aATM.Latitude longitude:(CLLocationDegrees)aATM.Longitude];

エラーを表示します: -CLLocationCoordinate2D is not an objectC class name or alias -浮動小数点値が予期されたときに使用されたポインター値 -浮動小数点値が予期されたときに使用されたポインター値

私はいくつかの異なることを試しましたが、それを理解することはできません。さらに情報が必要な場合は、お知らせください。

4

2 に答える 2

15

aAtm.Longitude と aAtm.Latitude はポインタである NSNumber であるため、CLLocationDegrees にキャストすることはできません。NSNumbers の double 値を使用する必要があります。

CLLocationCoordinate2D coord;
coord.longitude = (CLLocationDegrees)[aATM.Longitude doubleValue];
coord.latitude = (CLLocationDegrees)[aATM.Latitude doubleValue];

この回答によると

于 2010-09-04T16:49:21.200 に答える
6

あなたが欲しいのはこれです:

CLLocationCoordinate2D coord;
coord.longitude = (CLLocationDegrees)aATM.Longitude;
coord.latitude = (CLLocationDegrees)aATM.Latitude;
于 2009-09-14T00:14:46.137 に答える