从地图Google Maps xcode中删除特定图钉

时间:2015-11-20 22:37:56

标签: ios xcode google-maps-markers ios9 google-maps-sdk-ios

我有一个存储来自webservice的数据的数组。数据包含多个位置。 移动地图中心时,阵列会更新。它显示基于地图中心的引脚。我想要做的是删除我在地图上分配的那些旧引脚而不删除所有标记,如果存储了新引脚,则分配它们而不再添加所有引脚。

提前致谢。

这是我的代码。

if([tempOLDArr count]> 0){

        for (int i = 0; i<[appdelegate.eventsArray count]; i++) {
            eventsWebService *temp = [appdelegate.eventsArray objectAtIndex:i];

            if (i<[tempOLDArr count]) {
                if ([temp.eventID isEqualToString:[[tempOLDArr objectAtIndex:i]eventID]]) {

                }
                else {
                    [tempNEWArr addObject:[appdelegate.eventsArray objectAtIndex:i] ];
        }
            }
            else if(i>=[tempOLDArr count]){

       [tempNEWArr addObject:[appdelegate.eventsArray objectAtIndex:i] ];
                  }   
        }
        if ([tempNEWArr count]>0) {
            [self creatingAnnotation:tempNEWArr];

        }
      }
    else {
        tempOLDArr = appdelegate.eventsArray;
       [self creatingAnnotation:tempOLDArr];
    }

这是我绘制这些标记的代码

- (void)creatingAnnotation:(NSArray *)eventsArr {

for(int i=0;i<[eventsArr count];i++)
{
    HomeEventLat = [[appdelegate.eventsArray objectAtIndex:i]eventLat];

    HomeEventlong = [[appdelegate.eventsArray objectAtIndex:i]eventLong];

    double pickuplat = [HomeEventLat doubleValue];
    double pickuplng = [HomeEventlong doubleValue];
    CLLocation * loca=[[CLLocation alloc]initWithLatitude:pickuplat longitude:pickuplng];
    CLLocationCoordinate2D coordi=loca.coordinate;

    eventMarker = [[CustomGoogleMarker alloc]init];
    eventMarker.position = CLLocationCoordinate2DMake(pickuplat, pickuplng);

    eventMarker = [CustomGoogleMarker markerWithPosition:coordi];

    eventMarker.snippet = NO;

    eventMarker.icon = [UIImage imageNamed:@"map-pin-icon"];

    eventMarker.tappable = YES;



    eventMarker.marker_description = [[appdelegate.eventsArray objectAtIndex:i]eventDetail];
    eventMarker.marker_distance = [[appdelegate.eventsArray objectAtIndex:i]eventdistance];

    eventMarker.markerID = [[appdelegate.eventsArray objectAtIndex:i]eventID];
    eventMarker.marker_joinedNo = [[appdelegate.eventsArray objectAtIndex:i]eventJoinedNo];


    eventMarker.marker_price = [[appdelegate.eventsArray objectAtIndex:i]eventPrice];
    eventMarker.marker_commentsNo = [[appdelegate.eventsArray objectAtIndex:i]eventCommentsNo];
    eventMarker.marker_address = [[appdelegate.eventsArray objectAtIndex:i]eventAddress];
    eventMarker.ID = [NSString stringWithFormat:@"%d",i];
    // eventMarker.appearAnimation = kGMSMarkerAnimationPop;
    NSString *markerLabels = [[appdelegate.eventsArray objectAtIndex:i]labelsList];

    NSLog(@"%@",markerLabels);
    eventMarker.marker_label = markerLabels;

    eventMarker.marker_username = [[appdelegate.eventsArray objectAtIndex:i]user];
    eventMarker.marker_time = [[appdelegate.eventsArray objectAtIndex:i]eventTime];
    eventMarker.marker_image = [[appdelegate.eventsArray objectAtIndex:i]eventimage];
    // eventMarker.title =  [[appdelegate.eventsArray objectAtIndex:i]eventsID];
    //



    // [self.mapView clear];


    eventMarker.map = self.mapView;
    //
    //




    [markerDetail addObject:[appdelegate.eventsArray objectAtIndex:i]];









}
[_mapView animateWithCameraUpdate:[GMSCameraUpdate fitBounds:bounds withPadding:10]];

}

0 个答案:

没有答案
相关问题