georange 是一个用于地理定位任务的 Flutter/Dart 包,支持地理哈希编码和解码、计算两点之间的距离,以及生成经纬度范围的地理哈希。这些功能特别适用于优化地理空间应用中的数据库查询,针对 Firestore 进行了特定的测试和优化。该包支持 Android、iOS、Web、macOS、Windows 和 Linux 多个平台,适用于跨平台开发。
适合场景
地理空间数据索引
基于 Firestore 的位置查询
坐标之间的距离计算
实时位置跟踪
位置感知搜索功能
高效的基于范围的数据库筛选
主要特点
地理哈希编码和解码
两点之间的距离计算
用于查询的地理哈希范围生成
针对 Firestore 优化
跨平台兼容性
地理空间操作的简单 API
适合对象
开发基于位置的应用程序的开发者
需要高效地理空间数据库查询的应用程序
使用 Firestore 存储地理定位数据的项目
跨平台移动和Web应用
需要快速邻近搜索的应用程序
使用建议
主要在 Firestore 上进行测试
限于基于geohash的空间索引
需要理解地理哈希概念
未针对非地理空间数据库进行优化
依赖于准确的坐标输入
可能需要额外的逻辑来处理边缘情况的空间查询
原始 README
以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。
georange
Georange is a package that helps with encoding geohashes, decoding geohashes,calculating distance between 2 points and generating latitudinal and longitudinal ranges as geohashes to help with the querying of databases (Tested on Firestore Only).