Flutter开源免费定位插件

flutter_z_location

git地址

Flutter开源免费定位插件

  • 现如今几乎每一个 App 都存在定位的逻辑,方便更好的推荐产品或服务,获取当前设备的经纬度、所在城市几乎是必备的功能了!iOS定位经纬度及反向地理编码原生均能很好实现。然而Android由于系统原因,反向地理编码获取地址信息需要使用谷歌服务。大多需要依赖高德/百度三方定位库实现该功能。
  • 本项目是Flutter定位插件,支持获取经纬度及经纬度、ip反向地理编码获取地址信息(省、市、区),纯原生获取GPS定位信息。反向地理编码获取地址信息均来自本地,没有并发限制、次数限制且无收费。
  • 这里尤其感谢pikaz-18大佬的数据源。js定位大家可使用pikaz-location
  • 请大佬们多多指教,给个 Star,你的支持就是我不断前进的动力,谢谢。

特性

  • 单次获取经纬度信息
  • 经纬度、ip反向地理编码获取地址信息(省、市、区),精确度到区/县
  • 资源文件目前仅支持本地,尚未实现远程按需下载使用。后续将会完善此功能

安装

pubspec.yaml 中添加

dependencies:
  # 最新版本
  flutter_z_location: ^0.0.7

Android端配置

AndroidManifest.xml文件中添加定位权限

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

iOS端配置

info.plist文件中添加定位权限

<!-- 在使用期间访问位置 -->
<key>NSLocationWhenInUseUsageDescription</key>
<string>App需要您的同意, APP才能在使用期间访问位置</string>

使用

  • example/assets目录下的资源文件添加到自己的项目的assets中,并在pubspec.yaml中加入如下配置。
  assets:
    - assets/province/
    - assets/ip/
    - assets/city/
    - assets/district/
    - assets/areaList/

目前五个文件夹必须在同一级目录,如果您的资源目录结构不一致,对应设置pathHead参数即可

  • 详细使用请参考项目example用例,下面只列出常用方法
import 'package:flutter_z_location/flutter_z_location.dart';
import 'package:permission_handler/permission_handler.dart';

// 获取GPS定位经纬度
final coordinate = await FlutterZLocation().getCoordinate();
// 经纬度反向地理编码获取地址信息(省、市、区)
final res1 = await FlutterZLocation().geocodeCoordinate(coordinate.latitude, coordinate.longitude, pathHead: 'assets/');


// 获取ip地址
final ipStr = await FlutterZLocation().getIp();
// 经纬度反向地理编码获取地址信息(省、市、区)
final res2 = await FlutterZLocation.geocodeIp(ipStr, pathHead: 'assets/');
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Flutter是一个开源的移动应用开发框架,由谷歌公司开发并维护。它允许开发者使用一套代码构建高性能、具有漂亮用户界面的应用程序,同时可以在iOS和Android等多个平台上运行。Flutter的特点之一是它使用了自己的渲染引擎,可以实现跨平台的高性能渲染,而且Flutter还支持响应式编程模式,使得开发者能够更方便地处理用户界面的交互和更新。 由于Flutter开源项目,任何开发者都可以查看和修改其源代码。这为开发者提供了更大的自由度和灵活性,可以根据自己的需求进行定制和优化。同时,Flutter开源性也促进了社区的发展和合作,开发者可以互相交流和分享经验,共同推动Flutter的进步。 在Flutter开源项目中,有许多优秀的第三方库和件可供使用。这些库和件丰富了Flutter的功能和扩展性,开发者可以根据自己的需求引入和使用。同时,开发者也可以贡献自己的代码或解决方案,为开源社区做出贡献。 Flutter开源项目还包括一些示例应用和教程资源,供开发者学习和参考。这些资源展示了Flutter的各种功能和用法,帮助开发者更好地理解和掌握Flutter的开发技巧。 总之,Flutter作为一个开源项目,不仅提供了一个强大的移动应用开发框架,还促进了开发者社区的合作和创新。通过开源Flutter能够更好地满足开发者的需求,并推动移动应用开发行业的不断发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值