flutter_2d_amap.dart 1.17 KB
import 'dart:async';
import 'dart:io';

import 'package:flutter/foundation.dart';
import 'package:flutter_baidu_mapapi_base/flutter_baidu_mapapi_base.dart'
    show BMFMapSDK, BMF_COORD_TYPE;

class Flutter2dAMap {
  static String _webKey = '';

  static String get webKey => _webKey;

  static Future<bool?> setApiKey(
      {String iOSKey = '', String webKey = ''}) async {
    if (kIsWeb) {
      _webKey = webKey;
    } else {
      // 百度地图sdk初始化鉴权
      if (Platform.isIOS) {
        BMFMapSDK.setApiKeyAndCoordType(
            'rMsgMvYERM9zHDDdaipk34oBx7yoaGQh', BMF_COORD_TYPE.BD09LL);
      } else if (Platform.isAndroid) {
        // Android 目前不支持接口设置Apikey,
        // 请在主工程的Manifest文件里设置,详细配置方法请参考官网(https://lbsyun.baidu.com/)demo
        BMFMapSDK.setCoordType(BMF_COORD_TYPE.BD09LL);
      }
    }
    return Future.value(true);
  }

  /// 更新同意隐私状态,需要在初始化地图之前完成
  static Future<void> updatePrivacy(bool isAgree) async {
    if (kIsWeb) {
    } else {
      if (Platform.isIOS || Platform.isAndroid) {
        BMFMapSDK.setAgreePrivacy(true);
      }
    }
  }
}