AMapFlutterFactory.m
1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//
// AMapFlutterFactory.m
// amap_flutter_map
//
// Created by lly on 2020/10/29.
//
#import "AMapFlutterFactory.h"
#import <MAMapKit/MAMapKit.h>
#import "AMapViewController.h"
// 地图视图工厂实现,负责生成原生地图视图并与 Flutter 通信
@implementation AMapFlutterFactory {
// 插件注册器,Flutter 与原生通信的桥梁
NSObject<FlutterPluginRegistrar>* _registrar;
}
// 工厂初始化方法,保存注册器引用
- (instancetype)initWithRegistrar:(NSObject<FlutterPluginRegistrar>*)registrar {
self = [super init];
if (self) {
_registrar = registrar;
}
return self;
}
// 返回参数编解码器,Flutter 与原生通信时使用
- (NSObject<FlutterMessageCodec>*)createArgsCodec {
return [FlutterStandardMessageCodec sharedInstance];
}
// 创建原生地图视图控制器,并返回给 Flutter
- (NSObject<FlutterPlatformView>*)createWithFrame:(CGRect)frame
viewIdentifier:(int64_t)viewId
arguments:(id _Nullable)args {
return [[AMapViewController alloc] initWithFrame:frame
viewIdentifier:viewId
arguments:args
registrar:_registrar];
}
@end