flutter 集成高德地图(定位)
·
因为网上各个版本之间的差异,代码都不一样,导致很多问题,就不再列举错误的方式了,只要找到正确的就行了
集成的是这个
amap_base_location: ^0.4.0+1
其他的都不要
代码是这样的
final _amapLocation = AMapLocation();
var _result = '';
//初始化定位监听
void _initLocation() async {
_amapLocation.init();
final options = LocationClientOptions(
isOnceLocation: false,
locatingWithReGeocode: true,
);
if (await Permissions.requestMapPermission()) {
_amapLocation.startLocate(options).listen((_) => setState(() {
_result =
'坐标:${_.longitude},${_.latitude} @ ${DateTime.now().hour}:${DateTime.now().minute}:${DateTime.now().second}';
print(_.latitude);
Fluttertoast.showToast(msg: "${_.latitude}");
}));
} else {
setState(() {
_result = "无定位权限";
});
}
}
这东西跟网上的有些不一样,比如有的可能其实集成的是amap_base,所以Permissions.requestMapPermissoon这里不一样
高德是需要key的,key是需要正确的sha1的
网上那种获取sha1的方法是有问题的,我根据官方的方式弄了一遍,最后也显示sha1出错,一个取巧的方法是,直接运行一遍,出错了就会显示正确的sha1值,然后再在后台更新就好了
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)