开发环境
flutter: 3.3.4
baidu_map: 3.2.1
官方文档: Flutter插件
添加依赖
pubspec.yaml
1 2 3 4 5
| dependencies: flutter_baidu_mapapi_base: ^3.2.1 flutter_baidu_mapapi_map: ^3.2.1 flutter_baidu_mapapi_search: ^3.2.1 flutter_baidu_mapapi_utils: ^3.2.1
|
lib/main.dart
1 2 3 4 5 6 7 8 9 10 11 12 13
| import 'package:flutter_baidu_mapapi_base/flutter_baidu_mapapi_base.dart' show BMFMapSDK, BMF_COORD_TYPE; import 'package:flutter_baidu_mapapi_map/flutter_baidu_mapapi_map.dart';
BMFMapSDK.setAgreePrivacy(true);
if (Platform.isIOS) { BMFMapSDK.setApiKeyAndCoordType('请输入百度开放平台申请的iOS端API KEY', BMF_COORD_TYPE.BD09LL); } else if (Platform.isAndroid) {
BMFMapSDK.setCoordType(BMF_COORD_TYPE.BD09LL); }
|
android/app/build.gradle
这一步是配置代码混淆,按官网文档就行
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| android { buildTypes { release { buildTypes { release { signingConfig signingConfigs.release minifyEnabled true useProguard true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } } }
|
android/app/proguard-rules.pro
1 2 3 4
| -keep class com.baidu.** {*;} -keep class vi.com.** {*;} -keep class com.baidu.vi.** {*;} -dontwarn com.baidu.**
|
android/app/src/main/java/com/xx/xxx/MyApplication.java
com/xx/xxx 代表你的包名
1 2 3 4 5 6 7 8 9 10 11
| package com.xx.xxx;
import com.baidu.mapapi.base.BmfMapApplication;
public class MyApplication extends BmfMapApplication {
@Override public void onCreate() { super.onCreate(); } }
|
android/app/src/main/AndroidManifest.xml
这一步需要设置 android:name 路径为包名 + 上面创建的文件中 class 名,如果不加这个 SDK 无法初始化,地图会黑屏
1 2 3
| <application android:name="com.xx.xxx.MyApplication"> <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="请在此输入您在开放平台上申请的API_KEY" /> </application>
|