2012-10-20 60 views
0

我有一個顯示來自一個數組的MapView我註釋的循環語句。如何檢查數組中的任何座標是否爲0,0,如果是,請刪除/不要繪製它們?iOS的檢查,看是否標註的座標是{0,0}

謝謝。

代碼:

 CLLocationCoordinate2D maxCoord = {45.60250f,-122.39181f}; 
     CLLocationCoordinate2D minCoord = {45.35697f,-123.12789f}; 

     NSArray *callsArray = [xmlParser calls]; 

     for (JointCAD *call in callsArray) { 
      NSString *callnumber = [call.callnumber stringByAppendingFormat:@". "]; 
      NSString *callandnumber = [callnumber stringByAppendingString:call.currentCallType]; 
      CLLocationCoordinate2D newCoord = { [call.latitude doubleValue], [call.longitude doubleValue]}; 

      if ([call.longitude doubleValue] > maxCoord.longitude) 
      { 
       maxCoord.longitude = [call.longitude doubleValue]; 
      } 
      if ([call.latitude doubleValue] > maxCoord.latitude) 
      { 
       maxCoord.latitude = [call.latitude doubleValue]; 
      } 
      if ([call.longitude doubleValue] < minCoord.longitude) 
      { 
       minCoord.longitude = [call.longitude doubleValue]; 
      } 
      if ([call.latitude doubleValue] < minCoord.latitude) 
      { 
       minCoord.latitude = [call.latitude doubleValue]; 
      } 

      Annotation *ann = [[Annotation alloc] init]; 
      ann.title = callandnumber; 
      ann.subtitle = [call location]; 
      ann.coordinate = newCoord; 
      [mapView addAnnotation:ann]; 
     } 

     MKCoordinateRegion region = {{0.0f, 0.0f}, {0.0f, 0.0f}}; 

     region.center.longitude = (minCoord.longitude + maxCoord.longitude)/2.0; 
     region.center.latitude = (minCoord.latitude + maxCoord.latitude)/2.0; 

     region.span.longitudeDelta = (maxCoord.longitude - minCoord.longitude) * 1.1; 
     region.span.latitudeDelta = (maxCoord.latitude - minCoord.latitude) * 1.1; 

     [mapView regionThatFits:region]; 
     [self.mapView setRegion:region animated:YES]; 

     [self setRefreshState:@"Finished"]; 

回答

1

嗯你爲什麼不只需添加一個continuefor循環時的座標等於0?

創建Annotation對象之前只需添加一個簡單的

if(newCoord.latitude == 0 && newCoord.longitude == 0) continue; 

continue簡單地跳到循環的下一次迭代。

+0

怎麼回事?不是在循環非常有見地... –

+0

編輯我的答案更清晰。 –

+0

謝謝。作品完美。 –