【发布时间】:2011-11-17 20:28:13
【问题描述】:
我正在将多个MKPolylines 作为overlays 加载到MKMapView 上。我希望能够区分这些如何改变颜色、线宽等。
但是,当viewForOverlay: 被调用时,它看到我所有的MKPolylines 都是一样的,这不允许我更改它们中的任何一个。
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay {
if ([overlay isKindOfClass:[MKPolyline class]]) {
MKPolylineView *aView = [[[MKPolylineView alloc] initWithPolyline:(MKPolyline*)overlay] autorelease];
aView.strokeColor = [[UIColor blueColor] colorWithAlphaComponent:0.7];
MKZoomScale currentZoomScale = (CGFloat)(mapView.bounds.size.width / mapView.visibleMapRect.size.width);
aView.lineWidth = MKRoadWidthAtZoomScale(currentZoomScale);
return aView;
}
// Want to color my next overlay red
return nil;
}
我该怎么做?我可以以某种方式将标签附加到每个MKPolyline 吗?或者,另一种更好的方法?
【问题讨论】:
-
试试this answer。它是关于多边形的,但它应该适用于折线。
-
安娜,这正是我想要的。没想到它有产权。您可以将其发布为答案吗?
标签: iphone ios mkmapview polyline mkoverlay