GeoFireX-Swift 1.0.0

GeoFireX-Swift 1.0.0

Nobushige Asahi 维护。



 
依赖
Firebase/Core>= 0
Firebase/Firestore>= 0
FirebaseFirestoreSwift>= 0
 

GeoFireX-Swift

CI Status Version License Platform

此框架帮助您使用 geohash 从 Firebase 获取几何数据。基本逻辑与 GeoFireX 相同,由 codediodeio 提供。

示例

要运行示例项目,克隆仓库,并首先从 Example 目录运行 pod install

GeoFireX-Swift 查询结果以 Combine 返回,因此您必须创建一个订阅者才能获取结果。within() 创建 Publisher,您只需执行 sink() 就可以创建订阅者。

import Firebase
import Combine
import GeoFireX_Swift

let client = GeoFireClient()
let query = client.query("markers")
let center = FirePoint(geopoint: GeoPoint(latitude: 35.68123620000001, longitude: 139.7671248))

var result : [[String:Any]]!

let subscriber = query.within(center: center, radius: 1.5, field: "geography", opts: GeoQueryOptions(units: .kilometer, log: true))?.sink( receiveCompletion: { completion in
  switch completion {
  case .finished:
    print(".sink() received the completion:", String(describing: completion))
    break
  case .failure(let anError):
    print("received the error: ", anError)
    break
  }
}) { (dataList) in
  result = dataList
}

要求

  • iOS 13.0 及以上
  • Combine
  • Firebase

安装

GeoFireX-Swift 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod 'GeoFireX-Swift'

运行单元测试

您必须设置 Firebase 模拟器以调用单元测试。官方指南在此
这里

设置步骤

1. 安装 firebase-tool

$ npm install -g firebase-tools

2. 安装 Firebase 模拟器

$ firebase setup:emulators:firestore

3. 移动 Firebase 配置目录

$ mv firebase

4. 启动模拟器

$ firebase emulators:start --only firestore

5. 运行单元测试

功能特性

尚未实现

  • Promise 绑定
  • 将结果转换为 JSON

作者

Nob, Twitter 作品集

许可证

GeoFireX-Swift 采用 MIT 许可证。更多信息请查看 LICENSE 文件。