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

全球设计网站wordpress gofair

全球设计网站,wordpress gofair,岳阳网站设计,免费咨询文章目录 1 概念介绍2 使用方法3 示例代码4 体验分享 我们在上一章回中介绍了如何实现滑动菜单相关的内容#xff0c;本章回中将介绍如何获取位置信息.闲话休提#xff0c;让我们一起Talk Flutter吧。 1 概念介绍 我们在这里说的获取位置信息本质上是获取当前手机所在位置的… 文章目录 1 概念介绍2 使用方法3 示例代码4 体验分享 我们在上一章回中介绍了如何实现滑动菜单相关的内容本章回中将介绍如何获取位置信息.闲话休提让我们一起Talk Flutter吧。 1 概念介绍 我们在这里说的获取位置信息本质上是获取当前手机所在位置的gps坐标就是我们常说的经纬度。获取位置信息属于原生平台提供的功能Flutter做为UI框架并没有 提供这种功能因此我们需要自己编写channel然后分别在Android和IOS平台上实现相关的代码这样做显然又回到了原生开发中好在Flutter提供了包机制而 且已经有三方包替我们做了这件事情我们只需要在项目中引入并且使用三方包就可以获取到位置信息该包的名称为geolocator.本章回中将详细介绍它的使用方法。 2 使用方法 在yaml文件中引入geolocator包并且通过get命令获取包中的内容到项目中通过包中的checkPermission()方法检查是否获取到位置权限如果没有获取到就使用requestPermission()方法获取位置权限使用isLocationServiceEnabled()方法检查是否已经打开位置开关如果没有打开就使用openLocationSettings()方法打开使用getCurrentPosition()方法获取当前的位置信息该信息中包含当前位置的经纬度 这些使用方法还有一些注意事项需要和大家说明以免大家在使用时出现错误- 我们在上面步骤中介绍的方法都是异步方法需要配合async/await关键字来使用 打开位置开关的方法只能用于AndroidIOS不支持这样的功能 此外该包还提供了监听位置开关和监听位置信息的功能它会把位置开关状态和位置服务封装到stream中我们获取到相应的stream后就可以使用listen()方法 来监听位置开关的变化和位置信息的变化。 3 示例代码 ///获取位置开关状态如果没有打开开关就跳转到开关设置页面(仅支持android) locationServiceEnabled await Geolocator.isLocationServiceEnabled(); if(!locationServiceEnabled) {debugPrint(location service is disabled);///打开位置形状只适用于androidIOS不可以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监听位置信息 StreamSubscriptionPosition 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.dnsts.com.cn/news/35430.html

相关文章:

  • 金山西安网站建设linux服务器WordPress建站教程
  • wordpress建站要钱么营销推广网
  • 网站建设中的服务器搭建方式最新军事新闻头条
  • 怒江网站建设有了网站源代码
  • 做网站时默认字体是微软雅黑怎么购买网站空间和域名
  • 建设制作网站企业服务云
  • 上海网站建设哪家强wordpress修改固定连接403
  • 石狮制作网站南通网站推广排名
  • 建站排名网页的制作方法
  • 做网站p图工具选择热门网站做推广的原因
  • 大连微网站开发兰州seo关键词优化
  • 长沙优化网站技巧招投标网站
  • 做的网站名手机优化软件排行
  • 外贸网站制作广州快速建站平台
  • 怎么注册英文网站域名医院网站设计与实现
  • 东莞松山湖网站建设上海h5网站建设
  • 小孩子和大人做的网站做落地页的网站
  • 合肥网站建设创优国外字体设计网站
  • 做网站需要什么配置的电脑微信自动加人软件
  • 电影网站如何建设会员式深圳市网站开发坂田附近
  • 低俗网站推广哪里找wordpress网站报价
  • 网站的用户体验主要有那些类型php 网站做分享功能
  • 做网站的如何找客户wordpress 多米 主题
  • 建网站去哪里备案做生产计划类的网站
  • 河南网站建设公司湛江个人网站建设
  • 上海企业网站排名优化开网店卖什么好
  • 手机网站分页设计如何制作网页内容
  • 一个wordpress模版几个网站营销型网站建设策划书怎么写
  • 广州网站建设费公司海外网站建设
  • 深圳企业品牌网站网站建设 投标