ios - Can't render polygon (can't reserve indicies: XX): featureID: X key: XXXX -
i have use mac os x 10.9.3 , xcode 5.1.1
in app have use mkmapview
, it's working fine in ios 6.1, have stranger error display in console, such like,
can't render polygon (can't reserve indicies: 1482): featureid: 0 key: 0.0.1 (512) can't render polygon (can't reserve indicies: 570): featureid: 0 key: 0.0.1 (512) can't render polygon (can't reserve indicies: 30): featureid: 0 key: 0.0.1 (512) can't render polygon (can't reserve indicies: 390): featureid: 0 key: 0.0.1 (512) can't render polygon (can't reserve indicies: 330): featureid: 0 key: 0.0.1 (512) can't render polygon (can't reserve indicies: 18): featureid: 0 key: 0.0.1 (512) can't render polygon (can't reserve indicies: 30): featureid: 0 key: 0.0.1 (512) can't render polygon (can't reserve indicies: 18): featureid: 0 key: 0.0.1 (512)
like this question.
i want know error , why displaying in ios 6.1 , how can solve it?
my code is:
self.mapview = [[mkmapview alloc] init]; self.mapview.frame = cgrectmake(30, 30, 140, 105); [self.mapview setmaptype:mkmaptypestandard]; [self.mapview setzoomenabled:yes]; [self.mapview setscrollenabled:yes]; [self.mapview setdelegate:self]; self.mapview.layer.borderwidth = 1; self.mapview.layer.bordercolor = [uicolor lightgraycolor].cgcolor; [self.scrollview addsubview:self.mapview]; self.pointannotation = [[mkpointannotation alloc] init]; [self setmapannotationandcallout]; /// custom method set annotation pin , callout -(void)setmapannotationandcallout { cllocationcoordinate2d thecoordinate ; thecoordinate.latitude = [[self.dicofmap objectforkey:@"latitude"] doublevalue]; thecoordinate.longitude = [[self.dicofmap objectforkey:@"longitude"] doublevalue]; self.pointannotation.coordinate = thecoordinate; self.pointannotation.title = @"title"; self.pointannotation.subtitle = @"subtitle"; int region = 8000; mkcoordinateregion adjustedregion = [self.mapview regionthatfits:mkcoordinateregionmakewithdistance(thecoordinate, region, region)]; [self.mapview setregion:adjustedregion animated:yes]; } #pragma mark - #pragma mark - mkmapview delegate methods - (void)mapview:(mkmapview *)mapview didaddannotationviews:(nsarray *)views { mkannotationview *av; (av in views) { cgrect endframe = av.frame; av.frame = cgrectmake(av.frame.origin.x, av.frame.origin.y - 230.0, av.frame.size.width, av.frame.size.height); [uiview beginanimations:nil context:null]; [uiview setanimationduration:0.70]; [uiview setanimationcurve:uiviewanimationcurveeaseinout]; [av setframe:endframe]; [uiview commitanimations]; } } - (mkannotationview *)mapview:(mkmapview *)sender viewforannotation:(id < mkannotation >)annotation { static nsstring *reuseid = @"standardpin"; mkpinannotationview *aview = (mkpinannotationview *)[sender dequeuereusableannotationviewwithidentifier:reuseid]; if (aview == nil) { aview = [[mkpinannotationview alloc] initwithannotation:annotation reuseidentifier:reuseid]; aview.rightcalloutaccessoryview = [uibutton buttonwithtype:uibuttontypedetaildisclosure]; aview.canshowcallout = yes; } aview.annotation = annotation; return aview; } - (void)mapview:(mkmapview *)mapview didselectannotationview:(mkannotationview *)view { [mapview deselectannotation:view.annotation animated:yes]; }
i had same output in console on ios 6.1.
in case problem tried zoom out map based on coordinate (0.00000,0.00000), , created strange rendering problems only in first time opened map. after re-opened map worked correctly. when coordinate wasn't (0.00000,0.00000), worked.
maybe should check value of thecoordinate
want be.
Comments
Post a Comment