- 4.使用:
======================================================================================
===============================================================
我们在应用开发中经常需要用到地图定位或导航的功能,而集成该功能的方式总的来说分为两类:
第 1 类:App 集成导航功能
这种方式的优点是可以进行深度地图定制,比如出行或外卖软件会有自己的定制,上面会有司机或骑手的小图标,但是集成开发成本也是比较高的。
第 2 类:跳转第三方地图软件
这种方式是比较简单的一种,把目的地传给第三方导航软件,比如百度地图,它会为你提供导航功能。这种方式开发成本低,可快速提供导航功能。
由于 Flutter 技术出来不久,普及率算不上很高,目前很多导航定位还未对其提供专门支持,如果想集成导航功能的话,开发成本非常高,所以我们会考虑用跳转三方地图软件的方式实现导航功能。
=================================================================
1、添加插件:
dependencies:
map_launcher: ^1.1.2
2、iOS 配置 info.plist
LSApplicationQueriesSchemes
comgooglemaps
baidumap
iosamap
waze
yandexmaps
yandexnavi
citymapper
mapswithme
osmandmaps
dgis
qqmap
3、编写工具类同时实现另类国际化
import ‘package:flutter/material.dart’;
import ‘package:flutter_svg/flutter_svg.dart’;
import ‘package:map_launcher/map_launcher.dart’;
class MapsSheet {
BuildContext context;
Function(AvailableMap map) onMapTap;
MapsSheet({this.context, this.onMapTap});
void show() async {
List availableMaps = await MapLauncher.installedMaps;
for (var map in availableMaps) {
map.mapName = getLocalName(amap: map);
}
showModalBottomSheet(
// backgroundColor: Colors.transparent,
context: context,
builder: (BuildContext context) {
return Container(
padding: EdgeInsets.only(left: 10),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(Radius.circular(20)),
),
height: 400,
child: Column(
children: [
Expanded(
child: SingleChildScrollView(
child: Container(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(Radius.circular(16)),
),
child: Wrap(
children: [
for (var map in availableMaps)
ListTile(
onTap: () => onMapTap(map),
title: Text(map.mapName),
leading: SvgPicture.asset(
map.icon,
height: 30.0,
width: 30.0,
),
),
],
),
),
),
),
],
),
);
},
);
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
最后
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。这也是我这些年来养成的习惯,一定要学会把好的东西,归纳整理,然后系统的消化吸收,这样才能极大的提高学习效率和成长进阶。碎片、零散化的东西,我觉得最没有价值的。就好比你给我一张扑克牌,我只会觉得它是一张废纸,但如果你给我一副扑克牌,它便有了它的价值。这和我们收集资料就要收集那些系统化的,是一个道理。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
,它便有了它的价值。这和我们收集资料就要收集那些系统化的,是一个道理。
[外链图片转存中…(img-OTonbKnk-1712263375564)]
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。