如何从angularfire2创建GeoPoint?

Jus*_*ung 1 firebase angularfire angular google-cloud-firestore

我正在尝试创建新的GeoPoint使用方法,AngularFirestore但我不断收到错误消息,指出该方法不可用。如何在不导入整个firebasenpm模块的情况下执行此操作AngularFire

    import { Component, OnInit } from "@angular/core";
    import {AngularFirestore, AngularFirestoreCollection} from "angularfire2/firestore";
    @Component({
      selector: "app-firebase-menu-bar",
      templateUrl: "./firebase-menu-bar.component.html",
      styleUrls: ["./firebase-menu-bar.component.css"]
    })
    export class FirebaseMenuBarComponent {
      private itemsCollection: AngularFirestoreCollection<any>;
      private AngularFirestoreCollection;
      private draftCollection;
      private productionCollection;
      constructor(private db: AngularFirestore) {
        // this.production = db.collection('/production').snapshotChanges();
        this.db.firestore.GeoPoint(40, 100);
      }
    }
Run Code Online (Sandbox Code Playgroud)

jeb*_*ben 6

您必须使用本机firebase / firestore模块,而不是angularfire模块。您不必担心导入firebase(通过AngularFire存储库中建议的“ firebase / app”导入),因为angularfire只是围绕它的包装。

这是用于创建Geopoint的Firestore API参考:https : //firebase.google.com/docs/reference/js/firebase.firestore.GeoPoint

进口:

import {AngularFirestore} from 'angularfire2/firestore'
import * as firebase from 'firebase/app'
Run Code Online (Sandbox Code Playgroud)

Geopoint的创建和保存:

const locationData = new firebase.firestore.GeoPoint(40, 100)
this.db.collection('foo').doc('whateverId').udpate({location: locationData})
Run Code Online (Sandbox Code Playgroud)