私には、答えが見つからないかなり緊急の問題があります。iPhone アプリケーションで Google マップ API を使用して、現在地と目的地の間のパスを描画しようとしています。Google からデータを取得し、JSON をエラーなしで解析し、ポリラインをデコードしてから、次のメソッドを使用します。
-(void) loadRouteWithPoints:(NSArray *) routes
{
CLLocationCoordinate2D coords[[routes count]];
for(int i = 0; i < routes.count; i++)
{
CLLocation* loc = (CLLocation*)[NSKeyedUnarchiver unarchiveObjectWithData:[routes objectAtIndex:i]];
CLLocationCoordinate2D c;
c.latitude = loc.coordinate.latitude;
c.longitude = loc.coordinate.longitude;
coords[i] = c;
}
MKPolyline *line = [MKPolyline polylineWithCoordinates:(CLLocationCoordinate2D*)coords count:[routes count]];
[self.mapsView addOverlay:line];
}
これは、これを言うと例外をスローします[NSKeyedUnarchiver unarchiveObjectWithData:[routes objectAtIndex:i]];
:
「-[CLLocation バイト]: 認識されないセレクターがインスタンスに送信されました」
パラメータとして送信する配列は、ポリラインをデコードした後に取得する配列であり、 nil ではありません。私のテストでは、47 個の値があります。それらを見ることができ、各エントリは次のようになります。
<+44.47874069,+26.10523033> +/- 0.00m (速度 -1.00 mps / コース -1.00) @ 6/29/12 17:09:37 東ヨーロッパ夏時間
このクラッシュの原因とそれを修正する方法について何か考えはありますか?