/**
*根据指定坐标点生成一段折线
*@param coords 指定的经纬度坐标点数组
*@param count 坐标点的个数
*@return 新生成的折线对象
*/
(BMKPolyline )polylineWithCoordinates:(CLLocationCoordinate2D )coords count:(NSUInteger)count;
for (NSInteger index = 0; index < array.count; index++) {
// 生成折线
BMKPolyline* polyline = [BMKPolyline polylineWithCoordinates:coors count:2];
[_mapView addOverlay:polyline];
}
/**
*根据overlay生成对应的View
*@param mapView 地图View
*@param overlay 指定的overlay
*@return 生成的覆盖物View
*/
(BMKOverlayView )mapView:(BMKMapView )mapView viewForOverlay:(id <BMKOverlay>)overlay;
// 代理方法。
-
(BMKOverlayView)mapView:(BMKMapView )map viewForOverlay:(id<BMKOverlay>)overlay
{
if ([overlay isKindOfClass:[BMKPolyline class]]) {// 创建我自己想要的折线view MaintenanceBMKPolylineView* polylineView = [[MaintenanceBMKPolylineView alloc] initWithOverlay:overlay]; polylineView.fillColor = [[UIColor cyanColor] colorWithAlphaComponent:1]; polylineView.strokeColor = [[UIColor blueColor] colorWithAlphaComponent:0.7]; polylineView.lineWidth = 5.0; // 我需要的就是这个Array 对应 到数据 polylineView.infoArray = [[NSMutableArray alloc] initWithObjects:_maintenancePolylineViewArray[_maintenancePolylineViewIndex-1], nil]; return polylineView; }
}
@interface MaintenanceBMKPolylineView : BMKPolylineView
{
}
@property (nonatomic , strong) NSMutableArray *infoArray; // 存储线段的的信息
@end
@implementation MaintenanceBMKPolylineView
@end
问题:
array.count 假如 = 10;
for (NSInteger index = 0; index < array.count; index++) {
// 用数组记录下折线的数据
[_maintenancePolylineViewInfoArray addObject:dic];
// 生成折线
BMKPolyline* polyline = [BMKPolyline polylineWithCoordinates:coors count:2];
[_mapView addOverlay:polyline];
}
现在循环调用10次创建 折线。
若现在创建的第0条折线因经纬度原因在手机屏幕外。那么用户在移动屏幕后,才会调用
(BMKOverlayView )mapView:(BMKMapView )mapView viewForOverlay:(id <BMKOverlay>)overlay;方法去生成对应的polylineView。画出那个线段。
在循环中我用_maintenancePolylineViewInfoArray记录了10条折线他们各自对应的内容。
_maintenancePolylineViewInfoArray{A,B,C,D,E…};
请问,我怎么能做到让_maintenancePolylineViewInfoArray中的数值对应我创建出来的每一条折线呢?让_maintenancePolylineViewInfoArray的每个元素对应到代理方法中MaintenanceBMKPolylineView的infoArray。
请问你的 coors 是怎么创建的,coors的个数不确定的话,又该如何创建呢