无法访问 firestore 快照中的数据以将标记添加到存储在 Firebase 中的 Google 地图
Can't access to data in firestore snapshot to Add Markers to Google Maps stored in Firebase
我需要帮助访问 firebase firestore 快照中的数据,我需要纬度和经度。我在数据库和 Geopoint 中都有两个字段。我可以在 console.log 中看到数据,但无法访问单个值。到目前为止,我尝试了不同的方法,在这里,使用 doc.latitude 或 doc.longitude 我没有收到错误,但也无法检索数据。
function initialize() {
var latlng = new google.maps.LatLng(18.465733327729314, -69.93029399778331);
var myOptions = {disableDefaultUI: true, zoom: 9, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP };
var map = new google.maps.Map(document.getElementById("map"), myOptions);
db = firebase.firestore();
db.collection("GranSantoDomingo").get().then((querySnapshot) => {
querySnapshot.forEach((doc) => {
console.log(doc.id, "=>", doc.data());
var marker = new google.maps.Marker({
position: {lat: parseFloat(doc.latitude), lng: parseFloat(doc.longitude)},
map: map,
});
}
);
});
}
系统不让我post一张图片,但是数据结构是这样的:
{
"location":"Geopoint(18.7611489,-69.0386113)",
"sector":"EL SEIBO I ",
"calle":"Av. MANUELA DIEZ ( EN LA GERENCIA)",
"latitude":"18.7611489",
"longitude":"-69.0386113"
}
知道了!获取元素的正确方法:
function initialize() {
var latlng = new google.maps.LatLng(18.465733327729314, -69.93029399778331);
var myOptions = {disableDefaultUI: true, zoom: 9, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP, zoomControlsEnabled: true,
LocationEnabled: true,
LocationButtonEnabled: true, };
var map = new google.maps.Map(document.getElementById("map"), myOptions);
db = firebase.firestore();
db.collection("GranSantoDomingo").get().then((querySnapshot) => {
for (i = 0; i < querySnapshot.docs.length; i++) {
var Latitude = (querySnapshot.docs[i].data().latitude);
var Longitude = (querySnapshot.docs[i].data().longitude);
var marker = new google.maps.Marker({
position: {lat: parseFloat(Latitude), lng: parseFloat(Longitude)},
map: map,
});
}
});
}
我需要帮助访问 firebase firestore 快照中的数据,我需要纬度和经度。我在数据库和 Geopoint 中都有两个字段。我可以在 console.log 中看到数据,但无法访问单个值。到目前为止,我尝试了不同的方法,在这里,使用 doc.latitude 或 doc.longitude 我没有收到错误,但也无法检索数据。
function initialize() {
var latlng = new google.maps.LatLng(18.465733327729314, -69.93029399778331);
var myOptions = {disableDefaultUI: true, zoom: 9, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP };
var map = new google.maps.Map(document.getElementById("map"), myOptions);
db = firebase.firestore();
db.collection("GranSantoDomingo").get().then((querySnapshot) => {
querySnapshot.forEach((doc) => {
console.log(doc.id, "=>", doc.data());
var marker = new google.maps.Marker({
position: {lat: parseFloat(doc.latitude), lng: parseFloat(doc.longitude)},
map: map,
});
}
);
});
}
系统不让我post一张图片,但是数据结构是这样的:
{
"location":"Geopoint(18.7611489,-69.0386113)",
"sector":"EL SEIBO I ",
"calle":"Av. MANUELA DIEZ ( EN LA GERENCIA)",
"latitude":"18.7611489",
"longitude":"-69.0386113"
}
知道了!获取元素的正确方法:
function initialize() {
var latlng = new google.maps.LatLng(18.465733327729314, -69.93029399778331);
var myOptions = {disableDefaultUI: true, zoom: 9, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP, zoomControlsEnabled: true,
LocationEnabled: true,
LocationButtonEnabled: true, };
var map = new google.maps.Map(document.getElementById("map"), myOptions);
db = firebase.firestore();
db.collection("GranSantoDomingo").get().then((querySnapshot) => {
for (i = 0; i < querySnapshot.docs.length; i++) {
var Latitude = (querySnapshot.docs[i].data().latitude);
var Longitude = (querySnapshot.docs[i].data().longitude);
var marker = new google.maps.Marker({
position: {lat: parseFloat(Latitude), lng: parseFloat(Longitude)},
map: map,
});
}
});
}