当前位置: 首页 > news >正文

新版本flutter(3.32.7) android 端集成百度地图sdk

新版本flutter(3.32.7) android 端集成百度地图sdk

因为官方文档有很多地方没有说清楚,导致在适配过程中踩了很多坑,本文档基于已经实现集成的flutter安卓端应用编写。

官方文档地址:https://lbs.baidu.com/faq/api?title=flutter/loc/create-project/configure

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面,因其毫秒级热重载能够实现快速开发、具备超强原生性能以及富有表现力和灵活的UI,越来越受开发者喜爱,因此推出百度定位Flutter插件供广大开发者在开发Flutter Application的时候,可以集成本插件实现基本定位需求。

集成后地图长这样:

在这里插入图片描述

第一步:打开/创建一个flutter application工程

根据开发者的实际使用情况,打开一个已有的flutter application工程,或新建一个flutter application工程。 这里不再赘述。

第二步申请Android端AK

在百度地图开放平台控制台应用管理中创建Android端AK
如果之前没有认证过需要先登录,再认证开发者。
地址:https://lbs.baidu.com/apiconsole/key

创建这个需要两个东西,一个是packageName,在这获取:
在这里插入图片描述

另一个是 SHA1码,网上自行查找获取方法。

创建完后长这样:
在这里插入图片描述

第三步:添加依赖

pubspec.yaml 文件添加flutter依赖

  # 百度地图flutter_baidu_mapapi_base: ^3.9.5flutter_baidu_mapapi_map: ^3.9.5flutter_baidu_mapapi_utils: ^3.9.5flutter_baidu_mapapi_search: ^3.9.5permission_handler: ^12.0.1 # 动态申请权限插件geolocator: ^14.0.2 # 获取当前定位插件

百度地图使用只需要前四个即可,后面是我定位还有获取权限使用。不需要的可以不加

dart run pub get 下载依赖

第四步:新建 MyApplication.kt 文件

MainActivity 同级目录下创建 MyApplication.kt 文件,内容如下:

package xxx // 这个package要和 MainActivity 里面的一致import com.baidu.mapapi.base.BmfMapApplicationclass MyApplication : BmfMapApplication() {override fun onCreate() {super.onCreate()}
}

创建好了长这样:
在这里插入图片描述

第五步:调整 android AndroidManifest.xml 文件

调整 android/app/src/main/AndroidManifest.xml 文件,调整如下:
1、在 manifest 子节点新增如下内容,用于sdk的权限声明

    <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 --><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><!-- 获取网络状态,根据网络状态切换进行数据请求网络转换 --><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!-- 写外置存储。如果开发者使用了离线地图,并且数据写在外置存储区域,则需要申请该权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!-- 读取外置存储。如果开发者使用了so动态加载功能并且把so文件放在了外置存储区域,则需要申请该权限,否则不需要 --><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,POI检索等 --><uses-permission android:name="android.permission.INTERNET" /><!-- 定位权限 --><uses-permission android:name
http://www.dtcms.com/a/283824.html

相关文章:

  • 网络编程7.17
  • cors跨域资源共享
  • Python 网络爬虫 —— 代理服务器
  • 阿里云-通义灵码:隐私保护机制—为数据安全筑起铜墙铁壁
  • Web3.0 实战项目、简历打造、精准投递+面试准备
  • MongoDB 与MySQL 及es的区别
  • 黑客知识-攻击
  • 数据仓库分层经典架构:ODS、DWD、DWS
  • 安卓 GoFasting(间歇性断食)v1.03.35.0708
  • python-字典、集合、序列切片、字符串操作(笔记)
  • cdh6.3.2的hive使用apache paimon格式只能创建不能写报错的问题
  • Thymeleaf 表单绑定与验证详解
  • Rabbitmq direct 模式与 finout区别
  • Apache Ignite 的 Pages Writes Throttling(页面写入节流)
  • C++ - 仿 RabbitMQ 实现消息队列--C++11 异步操作实现线程池
  • InfluxDB 3与Apache Parquet:打造高性能时序数据存储与分析解决方案
  • Apache DolphinScheduler介绍与部署
  • UE5 Nanite使用
  • 下班倒计时
  • 链路聚合实训
  • 管家婆价格折扣跟踪管理:查询、新增、修改、删除
  • JAVA中的Map集合
  • 【01背包】P1466 [USACO2.2] 集合 Subset Sums
  • 华为云容器产品分析
  • HTML表格基础
  • 【Linux】第一个小程序—进度条
  • HikariCP数据库连接池高性能优化实战指南
  • Spring Boot 参数校验:@Valid 与 @Validated
  • 线上协同办公时代:以开源AI大模型等工具培养网感,拥抱职业变革
  • 【前沿技术动态】【AI总结】Spring Boot 4.0 预览版深度解析:云原生时代的新里程碑