iOS geometry 样例中,测面功能报错

已邀请:

马克玲

赞同来自:

建议用户修改如下代码:
 
- (void)updateArea:(AGSAreaUnits)unit {
    
    // Get the sketch layer's geometry
    AGSGeometry *sketchGeometry = self.sketchLayer.geometry;
    AGSGeometryEngine *geometryEngine = [AGSGeometryEngine defaultGeometryEngine];
    
    AGSPolygon *polygon = (AGSPolygon*)sketchGeometry;
    
    if([polygon numPoints] >2){
        
    // Get the area of the current polygon
    _area = [geometryEngine shapePreservingAreaOfGeometry:sketchGeometry inUnit:_areaUnit];
    }
    
    // Display the current unit
    NSString *areaUnitString = nil;
    switch (_areaUnit) {
        case AGSAreaUnitsSquareMiles:
            areaUnitString = @"Square Miles";
            break;
        case AGSAreaUnitsAcres:
            areaUnitString = @"Acres";
            break;
        case AGSAreaUnitsSquareYards:
            areaUnitString = @"Square Yards";
            break;
        case AGSAreaUnitsSquareKilometers:
            areaUnitString = @"Square Kilometers";
            break;
        case AGSAreaUnitsSquareMeters:
            areaUnitString = @"Square Meters";
        default:
            break;
    }
 
    NSNumberFormatter* formatter = [[NSNumberFormatter alloc] init];
    [formatter setNumberStyle:NSNumberFormatterDecimalStyle];
    [formatter setMaximumFractionDigits:0];
    
    self.userInstructions.text = [NSString stringWithFormat:@"%@", [formatter stringFromNumber:[NSNumbernumberWithDouble:_area]]];
    [self.selectUnitButton setTitle:areaUnitString forState:UIControlStateNormal];
    

}

要回复问题请先登录注册