我正在使用 Firebase React Native 開發犯罪地圖。我想在 Firebase 上保存用戶在他/她觸摸地圖后生成的標記的坐標(包括其他欄位,例如犯罪型別、詳細資訊等)。因此,一旦將標記保存到 Firebase 上,我想將它們顯示給同一地圖上的其他用戶,同時將前面提到的欄位顯示為資訊。

這可能嗎?如果是這樣,實作這一目標的最佳方法是什么?用戶后端已經實作,包括用于谷歌地圖的 react-native-maps 庫。
uj5u.com熱心網友回復:
假設您有兩類用戶:
A 組用戶:報告犯罪的資訊包括犯罪現場位置坐標。
B 組用戶:通過地圖上犯罪現場的即時更新來監控報告的犯罪。
使用 Firebase'Firestore,創建一個collection命名的crimes,應用程式將 GROUP A USER 報告的新報告犯罪添加為document.
每個犯罪都document必須包含犯罪現場位置的坐標。react-native-maps有onPress事件道具回傳地圖上用戶點擊的坐標。
犯罪document應該是這樣的:
const crime = {
type:"CRIME_TYPE",
coordinates:{
longitude:30,0988,
latitude:-1.98777,
//... more details
}
用戶舉報犯罪時添加此檔案
// Define reported crime document information
const crime = {
type:"CRIME_TYPE",
coordinates:{
longitude:30,0988,
latitude:-1.98777,
}
//... more details
}
// Firestore crimes collection reference
const crimesRef = firestore.collection('crimes')
// add new reported crime document in collection
crimesRef.add(crime)
在此階段,用戶已報告(提交)犯罪。我們需要將新報告的犯罪通知 GROUP B 用戶。
GROUP B 用戶應該訂閱該crimes集合,尤其是在添加新檔案時。
firestore.collection("crimes")
.onSnapshot((snapshot) => {
snapshot.docChanges().forEach((change) => {
if (change.type === "added") {
console.log("New reported crime: ", change.doc.data());
// add logic to update map with new reported crime data
}
if (change.type === "modified") {
console.log("Modified crime : ", change.doc.data());
}
if (change.type === "removed") {
console.log("Removed crime: ", change.doc.data());
}
});
});
我沒有涵蓋所有的實作細節,這只是一個簡短的概述。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/395414.html
下一篇:無法讀取未定義的“導航”的屬性
