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.
101 lines
2.4 KiB
Objective-C
101 lines
2.4 KiB
Objective-C
//
|
|
// BMFHeatMapHandles.m
|
|
// flutter_bmfmap
|
|
//
|
|
// Created by zhangbaojin on 2020/4/3.
|
|
//
|
|
|
|
#import "BMFHeatMapHandles.h"
|
|
#import "BMFMapView.h"
|
|
#import "BMFHeatMapConst.h"
|
|
#import "NSObject+BMFVerify.h"
|
|
#import "BMFHeatMapModel.h"
|
|
@interface BMFHeatMapHandles ()
|
|
{
|
|
NSDictionary *_handles;
|
|
}
|
|
@end
|
|
|
|
@implementation BMFHeatMapHandles
|
|
static BMFHeatMapHandles *_instance = nil;
|
|
+ (instancetype)defalutCenter{
|
|
if (!_instance) {
|
|
static dispatch_once_t onceToken;
|
|
dispatch_once(&onceToken, ^{
|
|
_instance = [[BMFHeatMapHandles alloc] init];
|
|
});
|
|
}
|
|
return _instance;
|
|
}
|
|
|
|
- (NSDictionary<NSString *, NSString *> *)heatMapHandles{
|
|
if (!_handles) {
|
|
_handles = @{
|
|
kBMFMapShowHeatMapMethod: NSStringFromClass([BMFShowHeatMap class]),
|
|
kBMFMapAddHeatMapMethod: NSStringFromClass([BMFAddHeatMap class]),
|
|
kBMFMapRemoveHeatMapMethod: NSStringFromClass([BMFRemoveHeatMap class]),
|
|
};
|
|
}
|
|
return _handles;
|
|
}
|
|
@end
|
|
|
|
#pragma mark - heatMap
|
|
|
|
@implementation BMFShowHeatMap
|
|
|
|
@synthesize _mapView;
|
|
|
|
- (nonnull NSObject<BMFMapViewHandler> *)initWith:(nonnull BMFMapView *)mapView {
|
|
_mapView = mapView;
|
|
return self;
|
|
}
|
|
|
|
- (void)handleMethodCall:(nonnull FlutterMethodCall *)call result:(nonnull FlutterResult)result {
|
|
if (!call.arguments || !call.arguments[@"show"]) {
|
|
result(@NO);
|
|
return;
|
|
}
|
|
_mapView.baiduHeatMapEnabled = [[call.arguments safeValueForKey:@"show"] boolValue];
|
|
result(@YES);
|
|
}
|
|
|
|
@end
|
|
|
|
@implementation BMFAddHeatMap
|
|
|
|
@synthesize _mapView;
|
|
|
|
- (nonnull NSObject<BMFMapViewHandler> *)initWith:(nonnull BMFMapView *)mapView {
|
|
_mapView = mapView;
|
|
return self;
|
|
}
|
|
|
|
- (void)handleMethodCall:(nonnull FlutterMethodCall *)call result:(nonnull FlutterResult)result {
|
|
if (!call.arguments || !call.arguments[@"heatMap"]) {
|
|
result(@NO);
|
|
return;
|
|
}
|
|
BMFHeatMapModel *heatMap = [BMFHeatMapModel bmf_modelWith:[call.arguments safeObjectForKey:@"heatMap"]];
|
|
[_mapView addHeatMap:[heatMap toBMKHeatMap]];
|
|
result(@YES);
|
|
}
|
|
|
|
@end
|
|
|
|
@implementation BMFRemoveHeatMap
|
|
|
|
@synthesize _mapView;
|
|
|
|
- (nonnull NSObject<BMFMapViewHandler> *)initWith:(nonnull BMFMapView *)mapView {
|
|
_mapView = mapView;
|
|
return self;
|
|
}
|
|
|
|
- (void)handleMethodCall:(nonnull FlutterMethodCall *)call result:(nonnull FlutterResult)result {
|
|
[_mapView removeHeatMap];
|
|
result(@YES);
|
|
}
|
|
|
|
@end
|