首页 > 解决方案 > 如何将 GeoFirestore 与 React Native Firestore 一起使用?

问题描述

我正在尝试在我的 RN 应用程序中实现GeoFirestore,但在他们的文档中,他们没有使用 RN Firestore 库而是另一个:

import firebase from 'firebase/app';
import 'firebase/firestore';
import * as geofirestore from 'geofirestore'; // importing geofirestore

...我正在为 Firestore 使用 RN 库:

import firestore from '@react-native-firebase/firestore';
import * as geofirestore from 'geofirestore'; // importing geofirestore

我遇到了这个错误:

> 错误:Firestore 必须是 Firestore 的实例

失败的代码如下,我试图根据我的位置查询附近的聊天。它在我使用上面的错误消息初始化应用程序的第一行失败。

// Create a GeoFirestore reference
const GeoFirestore = geofirestore.initializeApp(firestore);

// Create a GeoCollection reference
const geocollection = GeoFirestore.collection('chats');

const myCurrentLoc = this.state.location[0];
const latitude = myCurrentLoc.latitude;
const longitude = myCurrentLoc.longitude;
  
const query = geocollection.near({ center: new firebase.firestore.GeoPoint(latitude, longitude), radius: 20 });

标签: javascriptfirebasereact-nativegoogle-cloud-firestoregeofirestore

解决方案


Geofirestore 需要一个实例化的 firestore 对象。您的脚本应该看起来更像这样:

import firestore from '@react-native-firebase/firestore';
import * as geofirestore from 'geofirestore';

// Create a GeoFirestore reference
const GeoFirestore = geofirestore.initializeApp(firestore());


推荐阅读