Ошибка при запросе геопунктов облачного хранилища с помощью Geofirestore - PullRequest
1 голос
/ 26 мая 2019

У меня есть Cloud Firestore Collection (Locations), в которой есть поля GeoPoint, и я хочу сделать запрос на основе местоположения текущего пользователя, чтобы найти близлежащие места.

Похоже, Cloud Firestore еще не может этого сделать, но geofirestore, кажется, жизнеспособный вариант.Я пытаюсь запросить коллекцию Cloud Firestore (Locations) с координатами 34.0103, 118.4962.Тем не менее, я получаю следующую ошибку:

[2019-05-26T19: 28: 26.891Z] @ firebase / firestore :, Firestore (6.0.4): ВНУТРЕННЯЯ НЕПРАВИЛЬНАЯ ОШИБКА:, configureNetworkMonitoring

Вот что я посмотрел:

  • Сбор данных (местоположений) загружен в Cloud Firestore корректно
  • Облачный Firestore GeoPointсинтаксис и данные верны
  • Geoquery не работает

Облачные данные Firestore:

{
  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 Component (Поиск):

// 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...