Flutter接入百度地图总结

SDK 版本
Flutter 3.10.5
flutter_baidu_mapapi_map 3.6.0
flutter_bmflocation 3.6.0

截止目前为止百度地图相关的sdk版本都是3.6.0。

flutter百度地图接入官方文档

配置相关API_KEY和AndroidManifest都可以参考官网的介绍。同时强烈建议将最新版本的DEMO可以下载下来试运行下

接下来主要是官网没有提到的

  1. 安卓端需要创建自己的application,并继承BmfMapApplication,否则安卓端页面在使用百度地图会立即崩溃闪退,同时修改AndroidManifest.xml里的android:name

  1. android/app/src目录下配置build.gradle,需要配置packagingOptions,参考如下

具体可以参考官网最新的3.6.0的demo

到目前为止,基本上大多数人都可以运行了;接下来提几个可能会遇到的注意事项:

依赖库的冲突问题

  • firebase_analytics与百度地图SDK冲突导致iOS平台崩溃。

  • firebase_in_app_messaging库,如果注册了后台消息监听的方法( FirebaseMessaging.onBackgroundMessage和FirebaseMessaging.onMessageOpenedApp),会导致百度地图无法定位。

  • flutter_compass库,在百度地图监听手机朝向和定位时,如果同时使用该库监听朝向,会不停的抛异常,所以不要重复监听。

有很多其他文章也提到下面的坑:

  • 需要在build.gradle里添加相关的依赖,这个在3.6.0版本的sdk里是不需要的
  • 在activity里使用SDKInitialize初始化,在最新版本是不需要的
  • 在proguard-rules.pro文件里添加百度的混淆配置,暂时我还没发布,后面遇到我再更新

这些可能是老版本才遇到的,最新的可以忽略了。

还有个发现,在AndroidManifest.xml中配置安卓API_KEY的时候,如果在百度控制台的SHA1值不正确,在调试阶段百度会提醒你SDK鉴权失败,并把正确的SHA1随日志打印出来。

缺失的功能

  1. 自定义定位图标只支持本地内置的图片资源,不能使用网络图片资源
  2. 一旦使用了自定义的图标,无法显示指针朝向
  3. 不支持地图单击回调,只支持双击和长按回调
相关推荐
web打印社区30 分钟前
使用React如何静默打印页面:完整的前端打印解决方案
前端·javascript·vue.js·react.js·pdf·1024程序员节
喜欢踢足球的老罗31 分钟前
[特殊字符] PM2 入门实战:从 0 到线上托管 React SPA
前端·react.js·前端框架
小光学长41 分钟前
基于Vue的课程达成度分析系统t84pzgwk(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
Baklib梅梅2 小时前
探码科技再获“专精特新”认定:Baklib引领AI内容管理新方向
前端·ruby on rails·前端框架·ruby
南方以南_2 小时前
Chrome开发者工具
前端·chrome
YiHanXii2 小时前
this 输出题
前端·javascript·1024程序员节
楊无好2 小时前
React中ref
前端·react.js
程琬清君2 小时前
vue3 confirm倒计时
前端·1024程序员节
歪歪1002 小时前
在C#中详细介绍一下Visual Studio中如何使用数据可视化工具
开发语言·前端·c#·visual studio code·visual studio·1024程序员节
唔662 小时前
flutter实现web端实现效果
前端·flutter