我有MKMapView
一个非常奇怪的问题,很难解释。我有一个MKOverlay
通过将覆盖点保存到文件并将覆盖加载到viewDidLoad
. 所以问题来了:
脚步
- 我添加
MKOverlay
一个MKMapView
- 在添加
MKOverlay
到地图后的第二次或第三次运行时,地图上的所有内容都会被与我添加的颜色相同的叠加层覆盖。地图上的所有内容,加载视图时可以看到的地图视图除外。
其他奇怪的事情:
- 此问题仅在
mapView.showsUserLocation
设置为 true时出现 - 此问题仅发生在
iOS5
. 一切正常iOS6
。 - 如果您缩小彩色叠加层,则会重新调整地图可见部分的大小,以在您缩小到的新级别填充地图。
这个人也有同样的问题,尽管他的解决方案对我不起作用。
使用 MKPolyline 和 MKPolylineView 覆盖问题
这是我的一些代码:
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
MKPinAnnotationView *pinView = nil; //switch this to MKAnnotationView and use .image property if pins need to be images
if(annotation == self.startingPin || annotation == self.endingPin){
static NSString *defaultPinID = @"com.MagnusDevelopment.pin";
pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
if (pinView == nil)pinView = [[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:defaultPinID];
pinView.canShowCallout = YES;
pinView.animatesDrop = TRUE;
if(annotation == self.startingPin){
//starting pin
pinView.pinColor = MKPinAnnotationColorGreen;
}else{
//ending pin
pinView.pinColor = MKPinAnnotationColorRed;
}
}
return pinView;
}
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
MKPolylineView *aView = [[MKPolylineView alloc] initWithPolyline:(MKPolyline *)overlay];
aView.lineWidth = 7.0;
aView.strokeColor = [[UIColor blueColor] colorWithAlphaComponent:0.6];
return aView;
}
加载视图时调用的代码,我已经记录了在添加之前添加到折线数组的坐标,一切都很好,花花公子!
NSInteger numberOfSteps = pointsArray.count;
NSLog(@"number of steps: %i",numberOfSteps);
CLLocationCoordinate2D coordinates[numberOfSteps];
for (NSInteger index = 0; index < numberOfSteps; index++) {
CLLocation *location = [pointsArray objectAtIndex:index];
CLLocationCoordinate2D coordinate = location.coordinate;
coordinates[index] = coordinate;
}
MKPolyline *polyLine = [MKPolyline polylineWithCoordinates:coordinates count:numberOfSteps];
[self.mainMap addOverlay:polyLine];
这是当覆盖出现并且用户在地图上平移到一侧时发生的情况的图片: 关于问题是什么的任何想法?