一个稳定的地理围栏库

GeoFence

一个 Flutter 项目,用于在 Android 和 IOS 中提供地理围栏功能

入门

入门

Android

在您的 AndroidManifest.xml 中,您应该添加以下行

final geoFenceService = GeoFenceService()

启动 GeoFenceService

geoFenceService.startService({
    ///Latitude of the fence center
    fenceCenterLatitude: _fence_latitude,

    ///Longitude of the fence center
    fenceCenterLongitude: _fence_longitude,
    
    ///Radius in meter which indicates how much area will be covered by Fence
    radius: fence_area,
})

停止 GeoFenceService

geoFenceService.stopFenceService()

获取用户相对于围栏的状态

Status status = geoFenceService.getStatus()

获取用户当前位置

Position? position = geoFenceService.getCurrentLocation()

监听围栏的进入和退出状态变化

geoFenceService.geoFenceStatusListener.listen((geoFenceStatus) => {
    ///here geoFenceStatus will be listened whenever user enters or exit
})

重要提示:由于 geoFenceStatusListener 是一个流,因此请不要忘记在小部件释放时取消它。

注意:当应用程序在后台运行时,此库不起作用。

参考:此库内部使用 GeoLocator

GitHub

查看 Github