在ios中绘制polyLine时出错

我正在创build一个应用程序,应该显示两点之间的路线。

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

这两个位置存储在arrays的“位置”。

我收到一个错误

Objective-C指针types'NSMutableArray *'到C指针types'CLLocationCoordinate2D *'的隐式转换需要桥接转换

请帮我解决这个问题。
提前致谢。

此方法需要types为CLLocationCoordinate2D数组的参数。 你将不得不build立一个CLLocationCoordinate2Dtypes的数组。 代码会看起来像这样:

 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]; 

polylineWithCoordinates:count:接受CLLocationCoord2Dtypes的对象数组,count表示coord中的对象数。 看看这个链接 。 我读下面的评论,看起来像你的对象在数组(地点)是MKAnnotationstypes,而他们应该是CLLocationCoord2D 。 看看这个。 此外,错误说这个数组(你正在提供)的一个对象包含一个NSMutableArraytypes的对象。 也许在某个地方,你正在添加错误的实例。 也看看这个。

让我知道这是否有帮助。