带有 Firebase 实时数据库的 GoogleMap - Javascript
GoogleMap with Firebase Realtime Database - Javascript
如何在 google 地图上显示来自实时数据库的纬度、经度数据?
我的数据库结构:
/driversAvailable /A85edr0ers0A89rxartas7c5d1(user's id) /g: 787fe78fe
l:
0:45.789454
1:98.44578
我的代码:
function initMap(latitude, longitude) {
var map;
var database = firebase.database();
database.ref("driversAvailable//").once('value', function(snapshot) {
if (snapshot.exists()) {
snapshot.forEach(function(data) {
var latitude = l[0].val();
var longitude = l[1].val();
});
}
});
map = new google.maps.Map(document.getElementById('map'), {
center: {
lat: 41.04,
lng: 29.0778390
},
zoom: 12,
position: {
lat: parseFloat(latitude),
lng: parseFloat(longitude)
}
});
}
错误:
Uncaught ReferenceError: l is not defined
您尚未从快照中获取数据,因此您的 l
未定义。如果先从快照中获取值,则可以从那里找到 l
:
snapshot.forEach(function(data) {
var latitude = data.val().l[0];
var longitude = data.val().l[1];
})
如果您遇到这样的问题,console.log
您的快照的值可以帮助您查看其中的内容:
snapshot.forEach(function(data) {
console.log(data.val());
})
如何在 google 地图上显示来自实时数据库的纬度、经度数据?
我的数据库结构:
/driversAvailable /A85edr0ers0A89rxartas7c5d1(user's id) /g: 787fe78fe
l:
0:45.789454
1:98.44578
我的代码:
function initMap(latitude, longitude) {
var map;
var database = firebase.database();
database.ref("driversAvailable//").once('value', function(snapshot) {
if (snapshot.exists()) {
snapshot.forEach(function(data) {
var latitude = l[0].val();
var longitude = l[1].val();
});
}
});
map = new google.maps.Map(document.getElementById('map'), {
center: {
lat: 41.04,
lng: 29.0778390
},
zoom: 12,
position: {
lat: parseFloat(latitude),
lng: parseFloat(longitude)
}
});
}
错误:
Uncaught ReferenceError: l is not defined
您尚未从快照中获取数据,因此您的 l
未定义。如果先从快照中获取值,则可以从那里找到 l
:
snapshot.forEach(function(data) {
var latitude = data.val().l[0];
var longitude = data.val().l[1];
})
如果您遇到这样的问题,console.log
您的快照的值可以帮助您查看其中的内容:
snapshot.forEach(function(data) {
console.log(data.val());
})