首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Geofirestore查询云修复点时出错

使用Geofirestore查询云修复点时出错
EN

Stack Overflow用户
提问于 2019-05-26 11:43:47
回答 1查看 476关注 0票数 1

我有一个具有GeoPoint字段的( location ),我希望根据当前用户的位置进行查询,以找到附近的位置。

看起来Cloud还不能做到这一点,但是geofirestore似乎是可行的选择。我试图查询坐标为34.0103,118.4962的(位置)。但是,我得到了以下错误:

2019-05-26T19:28:26.891Z @firebase/ Firestore :,Firestore (6.0.4):内部未处理错误:,configureNetworkMonitoring

以下是我所看到的:

  • 将数据收集(位置)加载到云中,修复是正确的
  • 云修复GeoPoint是语法&数据是正确的
  • Geoquery不工作。

云修复数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  city: "Santa Monica",
  geopoint: [34.0103, 118.4962],
  location_id: "LA_00012",
  location_name: "Santa Monica Pier",
  state: "CA",
  street: "200 Santa Monica Pier,
  zip_code: "90401",
}

React组件(搜索):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Imports: Dependencies
import React, { Component } from 'react';
import { Button, SafeAreaView, StyleSheet, Text, View } from 'react-native';
import 'firebase/firestore';
import { GeoCollectionReference, GeoFirestore, GeoQuery, GeoQuerySnapshot } from 'geofirestore';

// Screen: Search
class Search extends Component {
  constructor (props) {
    super(props);

    this.state = {
      location: null,
      errorMessage: null,
    };
  }

  // Get Nearest Locations
  getNearestLocations = async () => {
    try {
    // Create Firestore Reference
    const collection = firebase.firestore().collection('locations');

    // Query Limit (10)
    const limitQuery = collection.limit(10);

    // Geo Query
    const query = new GeoQuery(limitQuery).near({
      center: new firebase.firestore.GeoPoint(34.0103, 118.4962),
      radius: 10,
    });

    query.get().then((value) => {
      value.docs.forEach(doc => {
        console.log(doc);
      });
    });

    }
    catch (error) {
      console.log(error);
    }
  }

  render() {
    return (
      <SafeAreaView style={styles.container}>
        <Text>Search</Text>

        <Button title="Search" onPress={this.getNearestLocations} />
      </SafeAreaView>
     );
    }
  }

  // Styles
  const styles = StyleSheet.create({
    container: {
    flex: 1,
    backgroundColor: '#fff',
    alignItems: 'center',
    justifyContent: 'center',
  },
});

// Exports
export default Search
EN

回答 1

Stack Overflow用户

发布于 2019-11-22 08:10:39

正如@MichaelSolati所指出的,您的数据的结构必须如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  city: "Santa Monica",
  g: [34.0103, 118.4962],
  l: "wwh32rqk3e",
  location_id: "LA_00012",
  location_name: "Santa Monica Pier",
  state: "CA",
  street: "200 Santa Monica Pier,
  zip_code: "90401",
}

您的geopoint必须替换为g,并且必须添加名为lgeohash children

希望能帮上忙!

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56316821

复制
相关文章
为什么我们的机器学习平台支持Python,而不是R
有很多文章比较了Python和R在数据科学方面的相对优点。但是这并不在这篇文章的讨论范围。这篇文章是关于数据分析师和机器学习工程师的分歧,以及他们对编程语言的不同需求。
HuangWeiAI
2020/03/18
6840
为什么我们的机器学习平台支持Python,而不是R
为什么我们选择使用 React 而不是 Angular 构建新 UI
我们在2013年推出了Cloud Elements集成平台的v1版本,这个产品在过去几年里一直为客户和公司发展提供了良好的服务。但是2017年,Web技术迅速演变,从而使用户期望也进一步发展。现在是我们重新思考整个开发者流程的时候了,这也为我们重新思考我们的技术栈提供了一个机会。 在产品发布周期和发布期限的世界中,技术的选择至关重要。以下是我们一路走来的历程,帮助你揭开一些关于React的实用亮点。
疯狂的技术宅
2019/03/28
2.3K0
为什么我们选择使用 React 而不是 Angular 构建新 UI
为什么我们选择使用 React 而不是 Angular 构建新 UI
我们在2013年推出了Cloud Elements集成平台的v1版本,这个产品在过去几年里一直为客户和公司发展提供了良好的服务。但是2017年,Web技术迅速演变,从而使用户期望也进一步发展。现在是我们重新思考整个开发者流程的时候了,这也为我们重新思考我们的技术栈提供了一个机会。 在产品发布周期和发布期限的世界中,技术的选择至关重要。以下是我们一路走来的历程,帮助你揭开一些关于React的实用亮点。 我们来自哪里 在React之前,我们使用AngularJS,这可能是当时被选中的最流行的前端框架。 但是如
顶级程序员
2018/05/03
2.7K0
为什么我们选择使用 React 而不是 Angular 构建新 UI
html 转换为cshtml,使用Html而不是csHtml
我想使用纯HTML页面而不是使用MVC .net的cshtml . 但是当我通过右键单击索引添加视图时,我只能看到两个选项 .
全栈程序员站长
2022/09/10
2.5K0
Spot CEO:我们为什么选择Babylon.js而不是Three.js
为现代网络开发令人兴奋的事情之一是底层平台的快速发展。 WebAssembly、WebGL、WebGPU、Web Worker 等正在解锁以前典型 Web 产品无法想象的体验。 在过去的几年里,我们看到像 Figma 这样的产品利用这一点创造了极具吸引力的业务和产品。
用户1758543
2023/05/08
2.2K0
Spot CEO:我们为什么选择Babylon.js而不是Three.js
开始使用HTML
HTML指的是超文本标记语言(HyperText Markup Language),是用来描述网页的一种语言。 HTML使用标签来描述网页。 本文目录 1 编辑器与浏览器 2 床前明月光 3 标题与段落 4 注释 5 链接 6 文本格式化 7 列表 8 表格 9 图像,音频,视频 10 区块 11 表单 12 相关
mwangblog
2018/07/04
4420
innodb为什么选择B+ Tree而不是跳表,Redis为什么选择跳表而不是B+ Tree
链表和数组相比,数组可以通过下标快速定位,或者通过二分查找,查询复杂度为O(logn),而链表只能按照顺序挨个查找,复杂度为O(n)。
大忽悠爱学习
2023/03/23
2.4K0
innodb为什么选择B+ Tree而不是跳表,Redis为什么选择跳表而不是B+ Tree
【开学季】调查报告:我们为什么要做学霸而不是学渣?
本文作者:马不停蹄 编者按:“学霸”,并不是那个把定理背的滚瓜烂熟的人,而是能活学活用、有独立思考能力的人。“学渣”,也不是课堂上不够优秀的人,而是任何事情都做不好的人。在我们曲解“学霸”和“学渣”的概念、并放大小概率事件的时候,我们不过是在为自己的慵懒,找一个连“冠冕堂皇”都算不上的貌似合理的借口。 学霸和学渣的各种故事,是最近两年微博上各类段子手们拿来创作的一个重要题材,大部分都以嘲讽学霸为主,有几个比较流行的:比如什么上学时一定要善待身边的差生,因为将来你大学毕业去工地搬砖时会发现他们是你的
小莹莹
2018/04/20
6500
【开学季】调查报告:我们为什么要做学霸而不是学渣?
为什么建议你用nullptr而不是NULL?
在C语言中,我们常常用NULL作为指针变量的初始值,而在C++中,却不建议你这么做。
编程珠玑
2019/08/28
9.6K0
为什么建议使用你 LocalDateTime ,而不是 Date?
多线程并发如何保证线程安全 - 避免线程之间共享一个SimpleDateFormat对象,每个线程使用时都创建一次SimpleDateFormat对象 => 创建和销毁对象的开销大 - 对使用format和parse方法的地方进行加锁 => 线程阻塞性能差 - 使用ThreadLocal保证每个线程最多只创建一次SimpleDateFormat对象 => 较好的方法
芋道源码
2019/10/23
1.6K0
为什么特征工程要用 SQL 而不是 Python
我们常说机器学习是一门实验科学。所以相比较传统工程而言,机器学习分成两个大的阶段:
用户2936994
2022/05/18
8230
为什么特征工程要用 SQL 而不是 Python
JDBC为什么要使用PreparedStatement而不是Statement
前言 这篇博客不是我写的,是由刘志军大大翻译的,真心觉得很棒,而且是必学要掌握的东西,所以就转载过来了,我个人的第一篇转载文章。 开始 PreparedStatement是用来执行SQL查询语句的API之一,Java提供了 Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程。同时Prepar
roobtyan
2018/06/04
1.4K0
JDBC为什么要使用PreparedStatement而不是Statement
PreparedStatement是java.sql包下面的一个接口,用来执行SQL语句查询,通过调用connection.preparedStatement(sql)方法可以获得PreparedStatment对象。数据库系统会对sql语句进行预编译处理(如果JDBC驱动支持的话),预处理语句将被预先编译好,这条预编译的sql查询语句能在将来的查询中重用,这样一来,它比Statement对象生成的查询速度更快。下面是一个例子:
哲洛不闹
2018/09/19
9440
JDBC为什么要使用PreparedStatement而不是Statement
为什么我会选择 React 而不是 Vue?
你注意到我过于圆滑的标题了吗?我将依据我所喜欢的方式去构建这个对话,而不是我客观上认为的唇枪舌战。我想后者并不会起作用。
疯狂的技术宅
2019/03/27
1.4K0
为什么建议使用你 LocalDateTime ,而不是 Date?
来源:juejin.im/post/5d7787625188252388753eae
JAVA葵花宝典
2019/10/29
1.1K0
为什么建议你使用LocalDateTime而不是Date?
calendar是共享变量,并且这个共享变量没有做线程安全控制。当多个线程同时使用相同的SimpleDateFormat对象【如用static修饰的SimpleDateFormat】调用format方法时,多个线程会同时调用calendar.setTime方法,可能一个线程刚设置好time值另外的一个线程马上把设置的time值给修改了导致返回的格式化时间可能是错误的。在多并发情况下使用SimpleDateFormat需格外注意SimpleDateFormat除了format是线程不安全以外,parse方法也是线程不安全的。parse方法实际调用alb.establish(calendar).getTime()方法来解析,alb.establish(calendar)方法里主要完成了
Bug开发工程师
2020/03/12
2.1K0
为什么建议使用你 LocalDateTime ,而不是 Date?
来源:juejin.im/post/5d7787625188252388753eae
用户1516716
2019/10/24
1.1K0
为什么是int main()而不是void main()
这是基于我们学校老师一直使用void main(),而发的感慨,大一学习C语言时,我就在想,老师上课演示的为什么一直用void main(),而不是int main()呢?不为了偷懒?还是习惯性的语句呢?在查阅了部分大牛的博客,翻阅了C Primer Plus和C++ Primer Plus这两本圣经级别的书本之后,得出以下结论(有一部分是别人的结论,属于半转载),可能不太严谨,请多多包涵。
对弈
2019/09/04
3.7K0
JDBC为什么要使用PreparedStatement而不是Statement
PreparedStatement是java.sql包下面的一个接口,用来执行SQL语句查询,通过调用connection.preparedStatement(sql)方法可以获得PreparedStatment对象。数据库系统会对sql语句进行预编译处理(如果JDBC驱动支持的话),预处理语句将被预先编译好,这条预编译的sql查询语句能在将来的查询中重用,这样一来,它比Statement对象生成的查询速度更快。下面是一个例子:
哲洛不闹
2018/09/19
1K0
JDBC为什么要使用PreparedStatement而不是Statement
为什么建议使用你LocalDateTime,而不是Date?
在项目开发过程中经常遇到时间处理,但是你真的用对了吗,理解阿里巴巴开发手册中禁用static修饰SimpleDateFormat吗?
良月柒
2019/10/28
1.4K0
为什么建议使用你LocalDateTime,而不是Date?

相似问题

如何从POST接收JSON?

129

如何使用POST方法从android接收json对象

13

节点从axios post接收post json

11

从POST请求接收JSON响应

11

从接收的POST阵列解码JSON

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文