You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.5 KiB
Objective-C
65 lines
1.5 KiB
Objective-C
//
|
|
// BMFHeatMapModel.m
|
|
// flutter_bmfmap
|
|
//
|
|
// Created by zhangbaojin on 2020/3/26.
|
|
//
|
|
|
|
#import "BMFHeatMapModel.h"
|
|
#import <BaiduMapAPI_Map/BMKHeatMap.h>
|
|
#import "BMFMapModels.h"
|
|
#import "UIColor+BMFString.h"
|
|
@implementation BMFHeatMapModel
|
|
|
|
+ (NSDictionary *)bmf_setupObjectClassInArray{
|
|
return @{@"data" : @"BMFHeatMapModelNode"};
|
|
}
|
|
|
|
- (BMKHeatMap *)toBMKHeatMap{
|
|
BMKHeatMap *heatMap = [BMKHeatMap new];
|
|
heatMap.mRadius = self.radius;
|
|
heatMap.mGradient = [self.gradient toBMKGradient];
|
|
heatMap.mOpacity = self.opacity;
|
|
NSMutableArray *mut = [NSMutableArray array];
|
|
for (BMFHeatMapModelNode *node in self.data) {
|
|
[mut addObject:[node toBMKHeatMapNode]];
|
|
}
|
|
heatMap.mData = mut;
|
|
return heatMap;
|
|
}
|
|
|
|
@end
|
|
|
|
@implementation BMFGradient
|
|
|
|
+ (NSDictionary *)bmf_setupObjectClassInArray{
|
|
return @{@"colors" : @"NSString",
|
|
@"startPoints" : @"NSNumber"
|
|
};
|
|
}
|
|
|
|
- (BMKGradient *)toBMKGradient{
|
|
BMKGradient *gradient = [BMKGradient new];
|
|
NSMutableArray *colors = [NSMutableArray array];
|
|
for (NSString *color in self.colors) {
|
|
[colors addObject:[UIColor fromColorString:color]];
|
|
}
|
|
gradient.mColors = colors;
|
|
gradient.mStartPoints = self.startPoints;
|
|
return gradient;
|
|
}
|
|
|
|
@end
|
|
|
|
|
|
@implementation BMFHeatMapModelNode
|
|
|
|
- (BMKHeatMapNode *)toBMKHeatMapNode{
|
|
BMKHeatMapNode *node = [BMKHeatMapNode new];
|
|
node.intensity = self.intensity;
|
|
node.pt = [self.pt toCLLocationCoordinate2D];
|
|
return node;
|
|
}
|
|
|
|
@end
|