ggdream / flutter_z_location

flutter gps、ip定位库

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

flutter_z_location

License

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>

使用

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);


// 获取ip地址
final ipStr = await FlutterZLocation.getIp();
// 经纬度反向地理编码获取地址信息(省、市、区)
 final res2 = await FlutterZLocation.geocodeIp(ipStr!);

About

flutter gps、ip定位库

License:MIT License


Languages

Language:Dart 70.6%Language:Java 16.5%Language:Swift 7.2%Language:Ruby 5.7%Language:Objective-C 0.1%