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

自己做的网站怎么发布wordpress 咨询主题

自己做的网站怎么发布,wordpress 咨询主题,做网站优化需要做哪些事项,知名企业网站人才招聘情况文章目录 1 概念介绍2 使用方法3 示例代码4 体验分享 我们在上一章回中介绍了如何实现滑动菜单相关的内容,本章回中将介绍如何获取位置信息.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里说的获取位置信息本质上是获取当前手机所在位置的…

文章目录

  • 1 概念介绍
  • 2 使用方法
  • 3 示例代码
  • 4 体验分享

我们在上一章回中介绍了如何实现滑动菜单相关的内容,本章回中将介绍如何获取位置信息.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1 概念介绍

我们在这里说的获取位置信息本质上是获取当前手机所在位置的gps坐标,就是我们常说的经纬度。获取位置信息属于原生平台提供的功能,Flutter做为UI框架并没有
提供这种功能,因此我们需要自己编写channel,然后分别在Android和IOS平台上实现相关的代码,这样做显然又回到了原生开发中,好在Flutter提供了包机制,而
且已经有三方包替我们做了这件事情,我们只需要在项目中引入并且使用三方包就可以获取到位置信息,该包的名称为:geolocator.本章回中将详细介绍它的使用方法。

2 使用方法

  1. 在yaml文件中引入geolocator包,并且通过get命令获取包中的内容到项目中;
  2. 通过包中的checkPermission()方法检查是否获取到位置权限,如果没有获取到就使用requestPermission()方法获取位置权限;
  3. 使用isLocationServiceEnabled()方法检查是否已经打开位置开关,如果没有打开就使用openLocationSettings()方法打开;
  4. 使用getCurrentPosition()方法获取当前的位置信息,该信息中包含当前位置的经纬度;
    这些使用方法还有一些注意事项需要和大家说明,以免大家在使用时出现错误:- 我们在上面步骤中介绍的方法都是异步方法,需要配合async/await关键字来使用
  • 打开位置开关的方法只能用于Android,IOS不支持这样的功能;
    此外,该包还提供了监听位置开关和监听位置信息的功能,它会把位置开关状态,和位置服务封装到stream中,我们获取到相应的stream后就可以使用listen()方法
    来监听位置开关的变化和位置信息的变化。

3 示例代码

///获取位置开关状态,如果没有打开开关就跳转到开关设置页面(仅支持android)
locationServiceEnabled = await Geolocator.isLocationServiceEnabled();
if(!locationServiceEnabled) {debugPrint('location service is disabled');///打开位置形状只适用于android,IOS不可以Geolocator.openLocationSettings();return Future.error('Location service is disabled');
}///检查位置权限
permission = await Geolocator.checkPermission();
if(permission == LocationPermission.denied || permission == LocationPermission.deniedForever) {permission = await Geolocator.requestPermission();if(permission == LocationPermission.always || permission == LocationPermission.whileInUse) {positionResult = await Geolocator.getCurrentPosition();}else {debugPrint('Location permission is denied');return Future.error('Location permission is denied');}
}else {///获取最近一次的位置信息和当前位置信息positionResult = await Geolocator.getLastKnownPosition();positionResult ??= await Geolocator.getCurrentPosition();
}///通过stream监听位置信息
StreamSubscription<Position> serviceStatus = Geolocator.getPositionStream(locationSettings: locationSettings,).listen((event) { debugPrint('geo updated: ${event.toString()}');},onDone: () => debugPrint('service updated done'),onError: (error) => debugPrint('service updated error: ${error.toString()}'),
);

上面的代码中添加了注释,这样方便大家理解代码。在使用的时候最好把这些方法封装独立的方法,因为需要使用aync/await关键字。我在这里就不演示程序的运行结果
了,建议大家自己动手去实践,通过日志打印出获取到的位置信息。

4 体验分享

这个包的功能十分强大,除了可以提供位置信息外,还实现了位置信息的外围功能,比如检查位置权限,申请位置权限,打开位置开关。这些功能十分实用,可以极大地提
高我们的开发效率。这个包还提供了监听位置开关状态和位置信息服务的功能,监听通过stream机制实现,这个功能是我最喜欢的功能。总之,这个包的功能十分强大,
使用检验非常好,我推荐大家去亲自去检验一下。关于这个包的缺点,我感觉会在Android兼容性上出问题.因为Android的位置权限分前台和后面,而且还有粗略和精
确之分,这些差异分散在不同的Android版本中,包中文档没有提到这些,当然也有可能该包已经兼容了各个Android版本。我没有在多个Android平台上验证,感兴趣
的看官们可以自己去验证。
看官们,与"如何获取位置信息"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

http://www.yayakq.cn/news/547028/

相关文章:

  • 成都网络推广哪家好河池网站seo
  • 深圳单位网站建设服务公司网络教育
  • python网站开发流程图建一个下载网站要什么cms系统
  • 做网站市场价格多少惠州专业网站制作公司
  • 河北网站备案查询系统沈阳人流费用
  • 做低首付的汽车网站有哪些举例说明网络营销的方法有哪些
  • 西海岸新区城市建设局网站建设网站的规划书
  • 做网编去网站还是工作室好有哪些可以免费推广的平台
  • 地方门户网站如何盈利《网站开发实训》实验报告
  • 网站开发中 整体框架的架构怎样在微信公众号里做微网站
  • 建立一个网站要什么条件做网站网上商城多少钱
  • 微网站建设及微信推广方案天津模板做网站
  • 佛山网站建设多少钱博客社区类网站模板
  • 做网站还是小程序建设工商联网站的意义
  • 企业网站排名怎么优化检察院网站建设方案
  • 大连网站建设仟亿做投标的在什么网站找信息
  • 精英学校老师给学生做的网站展示型网站功能
  • 湛江专业自助建站详细解读移动网站不备案吗
  • 做个人网站怎么做高端品牌企业管理系统
  • 凡科做网站wordpress mysql优化
  • 外贸网站要怎么做软件工程排名
  • 在建设银行网站上买卖贵金属宁波江北网站建设
  • 越南网站建设文案网站编辑怎么做
  • 北京公司网站建站iis做的网站提示500
  • 简易制作网站上海建设网站制
  • seo网站推广企业珠海网站建设黄荣
  • 网站建设项目环境影响评价目录网站制作基本规则
  • 天津如何做百度的网站推广wordpress 下载模板站
  • 网站设计制作要交印花税做盗版小说网站违法吗
  • 开网站建设公司挣钱吗郑州有名的设计公司