无法在 Firebase 中使用 geoFire 存储 CLLocation 对象
Posted
技术标签:
【中文标题】无法在 Firebase 中使用 geoFire 存储 CLLocation 对象【英文标题】:Can't store CLLocation objects using geoFire in Firebase 【发布时间】:2019-07-12 02:50:43 【问题描述】:CLLocation 对象具有如下结构:
"<+10.00000000,+10.00000000> +/- 0.00m (speed -1.00 mps / course -1.00) @ 7/11/19, 10:45:58 PM Eastern Daylight Time"
即,它们还包括课程信息。 当我尝试像这样使用 geoFire 存储我的 CLLocation 对象时:
geoFire.setLocation(newLocation, forKey: description)
我的应用程序崩溃,我收到如下错误:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'不是有效的 GeoFire 密钥:“Apple Campus, Apple Campus, 1 Infinite Loop, Cupertino, CA 95014, United States @ +/ - 100.00m,区域 CLCircularRegion(标识符:' 半径 279.37',中心:,半径:279.37m)”。字符 .#$][/ 不允许在键中使用!'
所以我猜我用来存储信息的 Firebase 对所有课程信息都不满意,但我不知道如何处理它。我尝试将 geoFire.setLocation 与 CLLocationCoordinates2D 一起使用,但它也不起作用。
【问题讨论】:
【参考方案1】:您的密钥包含非法字符
.#$][/
【讨论】:
以上是关于无法在 Firebase 中使用 geoFire 存储 CLLocation 对象的主要内容,如果未能解决你的问题,请参考以下文章
我想使用 GeoFire 在 android 中填充 Firebase Recycler View
GeoFire setLocation 方法不会将位置保存到 Firebase 数据库
如何在没有 Geofire 的情况下将位置对象保存在 Firebase 中?
如何让用户在我在 geofire、Firebase 的位置附近