У меня есть изображение полилинии, но я хочу добавить это изображение линии в виде карты. Я провел исследование по этому вопросу и не нашел ничего связанного, несмотря на все усилия.
Вот мой код
CGSize polyimagesize = CGSizeMake(768, 1024);
UIGraphicsBeginImageContextWithOptions(polyimagesize, NO, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2);
// CGContextSetAlpha(context, 0.6);
MKMapPoint *pointArr = malloc(sizeof(CLLocationCoordinate2D) * segments.count);
for(NSDictionary *route in segments) {
NSString *locations = [route valueForKey:@"Locations"];
double speed = [[route valueForKey:@"Speed"] doubleValue];
NSString *roadNumber = [route valueForKey:@"RoadNumber"];
if ([roadNumber isEqualToString:@"A"] && aRoadFlag == NO) {
continue;
}
else if ([roadNumber isEqualToString:@"N"] && nRoadFlag == NO) {
continue;
}
else if ([roadNumber isEqualToString:@"Others"] && othersRoadFlag == NO) {
continue;
}
if (locations && ([locations length]/16 > 1)) {
UIColor *color;
if (speed <= 20) {
color = [UIColor colorWithRed:222/255.0 green:0/255.0 blue:0/255.0 alpha:1.0];
}
else if (speed <= 40) {
color = [UIColor colorWithRed:253/255.0 green:91/255.0 blue:2/255.0 alpha:1.0];
}
else if (speed <= 60) {
color = [UIColor colorWithRed:253/255.0 green:145/255.0 blue:4/255.0 alpha:1.0];
}
else if (speed <=80) {
color = [UIColor colorWithRed:255/255.0 green:212/255.0 blue:4/255.0 alpha:1.0];
}
else if (speed >80) {
color = [UIColor colorWithRed:42/255.0 green:176/255.0 blue:39/255.0 alpha:1.0];
}
CGContextSetStrokeColorWithColor(context, color.CGColor);
for (int i = 0; i <= locations.length - 32; i += 32) {
CLLocationCoordinate2D coordinates;
coordinates.latitude = hexDecode1([locations substringWithRange:NSMakeRange(i, 16)]);
coordinates.longitude = hexDecode1([locations substringWithRange:NSMakeRange(i+16, 16)]);
MKMapPoint point1 = MKMapPointForCoordinate(coordinates);
NSLog(@"coordinates.latitude=%g",coordinates.latitude);
CGPoint point = [mapView convertCoordinate:coordinates toPointToView:self.mapView];
if (i == 0)
{
CGContextMoveToPoint(context, point.x, point.y);
}
else{
CGContextAddLineToPoint(context, point.x, point.y);
}
pointArr[i] = point1;
i++;
}
CGContextStrokePath(context);
}
}
polyimage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Я могу нарисовать полилинию изображения в контексте и затем получить этот контекст в моем изображении. Но теперь я хочу добавить это изображение как полилинию в виде карты.
Пожалуйста, помогите мне,
Заранее спасибо.