Я использую GeoFirestore, чтобы написать облачную функцию в облачном Firestore, чтобы запрашивать близлежащие местоположения, основываясь на центре и радиусе.
Код инициализации выглядит следующим образом
const firebase = require('firebase');
const admin = require('firebase-admin');
const functions = require('firebase-functions');
const GeoFirestore = require("geofirestore").GeoFirestore;
admin.initializeApp(functions.config().firebase);
const db = admin.firestore();
JSкод для запроса:
const object = db.collection('UserObject');
var geoFirestore = new GeoFirestore(object);
const geoQuery = geoFirestore.query({
center: new firebase.firestore.GeoPoint(17.500362, 78.587374),
radius: 1
});
geoQuery.on('ready', () => {
var locations = geoQuery._locationsTracked;
var keys = [];
locations.forEach(function (locationMap, key) {
if (typeof locationMap !== 'undefined' && locationMap.isInQuery) {
keys.push(locationMap);
}
});
response.status(200).json(keys);
});
Я новичок в библиотеке GeoFirestore.Мой вопрос заключается в том, является ли это правильной реализацией, чтобы получить близлежащие местоположения, или есть другой способ запросить соседние местоположения, используя эту библиотеку?