2014-04-10 109 views
-1

在我的应用程序中,我想实现绘制用户步行路径,因此我决定使用苹果提供的breadcrumb。在他们的示例代码中,他们在以下代理中启动crumbview,但我现有的应用程序也使用相同的代理,现在我将在一个代理中使用两个覆盖。但是,它不会在地图上绘制。绘制步行路径ios

-(MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id)overlay{ 

    if (!self.crumbView) 
    { 
     _crumbView = [[CrumbPathView alloc] initWithOverlay:overlay]; 
    } 
    if([overlay isKindOfClass:[MKPolygon class]]) 
    { 
     MKPolygonView *view = [[MKPolygonView alloc] initWithOverlay:overlay]; 
     view.lineWidth=4; 
     if([[overlay title] isEqualToString:@"world"]) 
     { 

      view.strokeColor = [[UIColor blackColor]colorWithAlphaComponent:1]; 
     } 
     else 
     { 

      if([colorSch isEqualToString:@"EPAColor"]&&colorvalue>60) 
       view.fillColor=[color colorWithAlphaComponent:.2]; 
      else 
      view.fillColor=[color colorWithAlphaComponent:.1]; 


     } 

     return view; 
    } 
    return nil; 
} 
+0

我注意到这将永远不会返回_crumbView,因此该层将无法工作。多边形显示?如果没有,需要从显而易见的方面开始......此方法是否被调用?它是否被覆盖层称为“MKPolygon”? – mackworth

+0

MKPolygon效果不错,但crumbview没有 – casillas

回答

1

然后,它很容易,只是return self.crumbView而不是return nil末(你也可以添加一个测试CrumbPath类型,但假设你只有两种观点,你不真的需要)

+0

实际上还是没有工作 – casillas

+0

奇怪。你可以在第一次添加覆盖层和修改过的代码的地方发布代码吗?最后,使用断点或NSLigs,上面被称为两次? – mackworth