2014-04-10 146 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