我将地理位置保存到数组中,现在我想在Google地图上输出这些地理位置,但是无法正常工作。没有为新的地理位置设置标记。
需要帮助,如何在地图上为地理位置设置标记?
firestore数据库:
代码:
mounted () {
var map = new google.maps.Map(document.getElementById('mapName'), {
center: {lat: 0, lng: 0},
zoom: 20
});
fb.usersCollection.where("acctPosition", "==", true).get().then(docs => {
docs.forEach((coord) => {
const position = new google.maps.LatLng(coord.latitude,coord.longitude);
const marker = new google.maps.Marker({
position,
map: map
});
})
})
}
这是console.log(coord.data())
有了这个地理位置,我想在Google地图上设置一个标记。该怎么做?
答案 0 :(得分:1)
以下应该可以解决问题:
fb.usersCollection.get().then(docs => {
docs.forEach((coord) => {
const lat = coord.data().acctPosition[0].lat;
const lng = coord.data().acctPosition[0].lng;
const position = new google.maps.LatLng(lat, lng);
const marker = new google.maps.Marker({
position,
map: map
});
})
})
docs.forEach()
返回一个QueryDocumentSnapshot(它“提供与DocumentSnapshot相同的API表面”)。因此,您必须调用data()
method才能获得doc字段。