init method

Future init(
  1. String iosKey
)

设置ios端的key, android端需要在manifest里面设置, 无法通过代码设置

Implementation

static Future init(String iosKey) async {
  // 加载asset相关信息, 供区分图片分辨率用, 因为native端的加载asset方法无法区分分辨率, 这是一个变通方法
  _assetManifest =
      await rootBundle.loadStructuredData<Map<String, List<String>>>(
    'AssetManifest.json',
    (String jsonData) {
      if (jsonData == null)
        return SynchronousFuture<Map<String, List<String>>>(null);

      final Map<String, dynamic> parsedJson = jsonDecode(jsonData);
      final Iterable<String> keys = parsedJson.keys;
      final Map parsedManifest = Map<String, List<String>>.fromIterables(
        keys,
        keys.map<List<String>>((key) => List<String>.from(parsedJson[key])),
      );
      return SynchronousFuture<Map<String, List<String>>>(parsedManifest);
    },
  );

  return platform(
    android: (pool) async {
      print('android端需要在Manifest里面设置');
    },
    ios: (pool) async {
      AmapCore.init(iosKey);
    },
  );
}