2

2 点間のルートを表示するアプリを作成しています。

MKPolyline *routeLine = [MKPolyline polylineWithCoordinates:locations count:2];
[mapView addOverlay:routeLine];

2 つの場所は配列「locations」に格納されます。

エラーが発生します

Objective-C ポインター型 'NSMutableArray *' から C ポインター型 'CLLocationCoordinate2D *' への暗黙的な変換には、ブリッジ キャストが必要です

これについて私を助けてください。
前もって感謝します。

4

2 に答える 2

2

このメソッドには、タイプ CLLocationCoordinate2D 配列のパラメーターが必要です。タイプ CLLocationCoordinate2D の配列を作成する必要があります。コードは次のようになります。

CLLocationCoordinate2D *coordsArray = malloc(sizeof(CLLocationCoordinate2D) * locations.count);

int i = 0;
for (CLLocation *loc in locations) {
    coordsArray[i] = loc.coordinate;
    i++;
}

MKPolyline * routeLine = [MKPolyline polylineWithCoordinates:coordsArray 
                        count:locations.count];

free(coordinateArray);

[mapView addOverlay:routeLine];
于 2013-11-22T11:19:06.013 に答える