Flutter--《百度地图避坑指南》

365 阅读1分钟

百度地图问题主要在集中在安卓端

  1. 官网文档没有提到,在原生启动时不初始化地图sdk是不会显示地图的,初始化方法为新建MyApplication.java文件

image.png

并且继承百度sdk的初始化方法

package com.atInfo.at_map;
import com.baidu.mapapi.base.BmfMapApplication;

public class MyApplication extends BmfMapApplication {
    @Override public void onCreate() {
        super.onCreate();
    }
}

最后再将此处入口更改为刚新建的

image.png

  1. 第二个问题在使用定位sdk时,这个问题有点蠢,首先在调用定位前需要设置下用户同意隐私,如下
LocationFlutterPlugin myLocPlugin = LocationFlutterPlugin();
// 设置是否隐私政策
myLocPlugin.setAgreePrivacy(true);

这里的坑在于不可以加await,不能写成await myLocPlugin.setAgreePrivacy(true);,在安卓客端这个方法是没有回复的,导致后面的方法一直无法执行,ios有回复,应该是一个bug,已经跟百度地图反馈了。