問題描述:根據(jù)地圖的層級(mapView.zoomLevel),在數(shù)組內(nèi)尋找到最接近這個層級的數(shù)值
- (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:存有數(shù)值對象,如: showLevels = @[@(12), @(7), @(9)];
suitValue:找到的最合適的值
diffLevel:層級差
mapZoomLevel:參照層級,根據(jù)這個層級,找到數(shù)組中最接近這個數(shù)的值