firebase.firestore.GeoPoint (long, lat) не является конструктором - PullRequest
0 голосов
/ 12 октября 2018

Мне нужна ваша помощь ...

Я не могу сохранить объект с геоданными в моем хранилище (из приложения vue).

Объекты без геопункта сохраняются в firestore, но как только я пытаюсь добавить документ с помощью класса GeoPoint, я получаю следующую ошибку:

Uncaught TypeError: this.$db.GeoPoint is not a constructor
at VueComponent.addProperty (index.2ad219460d4ddfd5635c.hot-update.js:226)
at click (index.3901b064c6620cd7292b.hot-update.js:149)
at invoker (commons.app.js:10574)
at HTMLButtonElement.fn._withTask.fn._withTask [...]

'This. $ Db'является ссылкой на объект firebase.firestore () -> так как он работает без GeoPoints, этот импорт / внедрение должен быть корректным (я также пробовал это делать с прямым импортом firebase-instance без успеха.

MyФункция выглядит следующим образом:

this.$db.collection("property").add({
 meta_data:this.meta_data,
 address: this.address,
  location: new this.$db.GeoPoint(8.241, 46.838)
})
  .then(function(docRef) {
    console.log("Document written with ID: ", docRef.id);
  })
  .catch(function(error) {
    console.error("Error adding document: ", error);
  });

Мои зависимости:

"dependencies": {
"@mapbox/mapbox-gl-geocoder": "^2.3.0",
"@mapbox/mapbox-sdk": "^0.4.1",
"firebase": "^5.5.3",
"geojson": "^0.5.0",
"gsap": "^2.0.2",
"mapbox-gl": "^0.49.0",
"nuxt": "^2.1.0",
"vuefire": "^1.4.5",
"vuetify": "^1.2.9"
},

Я что-то пропускаю? Любая помощь приветствуется! Большое спасибо

1 Ответ

0 голосов
/ 12 октября 2018

Я нашел основную причину моей проблемы.Это. $ Db было ссылкой на firebase.firestore (), а НЕ на firebase.firestore ->, поэтому конструктор был недоступен.

...