
问题描述:根据地图的层级(mapView.zoomLevel),在数组内寻找到最接近这个层级的数值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
- (NSInteger)getMinValueShowLevel:(NSArray *)showLevels mapZoomLevel:(CGFloat)mapZoomLevel{ NSInteger suitValue = (int)mapZoomLevel NSInteger diffLevel = 9999 for (NSNumber *showLevel in showLevels) { NSInteger diffLevelTmp = fabs(mapZoomLevel - [showLevel intValue]) if (diffLevelTmp < diffLevel) { diffLevel = diffLevelTmp; suitValue = [showLevel intValue] } } return suitValue } 注:代码中 showLevels:存有数值对象,如: showLevels = @[@(12), @(7), @(9)] suitValue:找到的最合适的值 diffLevel:层级差 mapZoomLevel:参照层级,根据这个层级,找到数组中最接近这个数的值
|
近期评论