query - ¿Cómo guardar GeoPoint en Firebase Cloud Firestore?
firestore update (3)
en la base de datos de la interfaz de usuario puedo crear un campo con el tipo geopoint
. Después de proporcionar valores, se ve algo como esto:
location: [1° N, 1° E]
Estoy intentando guardar esto en la base de datos a través del SDK del lado del cliente (web). Basándome en los comentarios de Twitter, probé GeoJSON, Coords Array y Coords Object:
location: [1, 2];
location: {
latitude: 1,
longitude: 2,
};
location: {
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [125.6, 10.1]
}
}
Ninguno de los cuales resultó en el tipo de geopunto en la base de datos. Sólo se guardan como objetos / matrices.
¿Cómo guardar GeoPoint en Firebase Cloud Firestore a través del SDK web?
Los SDK de Firestore incluyen una GeoPoint class
, por lo que tendría que guardar ubicaciones como esta:
{
location: new firebase.firestore.GeoPoint(latitude, longitude)
}
Luché para encontrar la importación / exigencia correcta. ¡Esto es lo que funcionó para mí!
const firebaseAdmin = require(''firebase-admin'');
//other code ....
//assigning value to myLocation attribute
let newObject = {
otherAttribute:"otherAttributeValue",
myLocation: new firebaseAdmin.firestore.GeoPoint(latitude,longitude)
}
Simplemente use:
import ''package:cloud_firestore/cloud_firestore.dart'';
{
location:GeoPoint(latitude, longitude)
}