iphone - Google Maps markers not removing iOS -
i'm running thread fetch drivers location every 10 seconds , want remove added markers map doesn't work..
my code:
-(void)apiresponse:(id)returnjson { [googlemapsdriverpin setmap:nil]; googlemapsdriverpin = nil; nsmutablearray *driverpins = [[nsmutablearray alloc]init]; (int x = 0; x < [[returnjson valueforkey:@"drivers"] count]; x++) { cllocation *driverlocations = [[cllocation alloc]initwithlatitude:[[[[returnjson valueforkey:@"drivers"] objectatindex:x] valueforkey:@"driver_latitude"] doublevalue] longitude:[[[[detail valueforkey:@"drivers"] objectatindex:x] valueforkey:@"driver_longitude"] doublevalue]]; [driverpins addobject:driverlocations]; } (cllocation *newlocation in driverpins) { googlemapsdriverpin = [[gmsmarker alloc] init]; [googlemapsdriverpin setposition:newlocation.coordinate]; [googlemapsdriverpin setanimated:yes]; [googlemapsdriverpin settitle:@"title"]; [googlemapsdriverpin setsnippet:@"snippet"]; [googlemapsdriverpin seticon:[gmsmarker markerimagewithcolor:[uicolor blackcolor]]]; [googlemapsdriverpin setmap:googlemaps]; } } it keeps adding , adding every 10 seconds , not removing, please help! thanks!
its kind of quick , dirty option if wanted go way gmsmarker has userdata property use tag driver pins
- (void)apiresponse:(id)returnjson { (gmsmarker *pin in self.googlemaps.markers) { if (pin.userdata == @"driver pin"){ pin.map = nil; } } ... (cllocation *newlocation in driverpins) { googlemapsdriverpin = [[gmsmarker alloc] init]; ... [googlemapsdriverpin setuserdata:@"driver pin"]; } } update:
[self.googlemapsview clear];
Comments
Post a Comment