gpt4 book ai didi

javascript - 使用 javascript 从 Firebase 添加地点到热图

转载 作者:行者123 更新时间:2023-12-03 03:19:58 25 4
gpt4 key购买 nike

我正在尝试执行一项简单的任务,但我对 javascript、firebase 和 google map API 还不熟悉。我只想使用我的 firebase 数据库中的数据点创建一个 map (我认为热图会更好)。

我的 fireabse 表如下:

enter image description here

我使用的是 Google 开发网站 ( https://developers.google.com/maps/documentation/javascript/firebase ) 的代码

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#map {
height: 50%;
width: 50%;
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=XXXXXXXXXX
&libraries=visualization&callback=initMap">
</script>
<script src="https://cdn.firebase.com/js/client/2.3.2/firebase.js"></script>
<div id="map"></div>


<script>

function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 0, lng: 0},
zoom: 3,
styles: [{
featureType: 'poi',
stylers: [{ visibility: 'off' }] // Turn off points of interest.
}, {
featureType: 'transit.station',
stylers: [{ visibility: 'off' }] // Turn off bus stations, train stations, etc.
}],
disableDoubleClickZoom: true
});
}



var heatmap = new google.maps.visualization.HeatmapLayer({
data: [],
map: map,
radius: 16
});

var firebase = new Firebase("https://XXXXXXX.firebaseio.com/");
var places = firebase.child('places');

// Get that click from firebase.
places.orderByChild('places').on('child_added',
function(snapshot) {
var newPosition = snapshot.val();
var point = new google.maps.LatLng(newPosition.lat, newPosition.lng);
heatmap.getData().push(point);
}
);




</script>


</body>
</html>

但我收到此错误:

Uncaught ReferenceError: google is not defined at index.html:44

我已经在这里寻找了一些答案,但我无法正确加载库。另外,我不知道代码是否会起作用。有人可以建议对其进行修改吗?真的很感激。

谢谢!

最佳答案

我可以解决问题。

由于某种原因,下面的行不起作用。

<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=visualization&callback=initMap">
</script>

我已替换下面的行并将其添加到代码的开头。

    <script src="https://maps.googleapis.com/maps/api/js?key=MYKEY&libraries=visualization"></script>

另外,我在代码末尾添加了以下行。

google.maps.event.addDomListener(window, 'load', initMap);

在下面找到完整的脚本:

    <script src="https://maps.googleapis.com/maps/api/js?key=MYKEY&libraries=visualization"></script>
<script src="https://cdn.firebase.com/js/client/2.3.2/firebase.js"></script>
<div id="map"></div>


<script>

function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 0, lng: 0},
zoom: 3,
styles: [{
featureType: 'poi',
stylers: [{ visibility: 'off' }] // Turn off points of interest.
}, {
featureType: 'transit.station',
stylers: [{ visibility: 'off' }] // Turn off bus stations, train stations, etc.
}],
disableDoubleClickZoom: true
});

var heatmap = new google.maps.visualization.HeatmapLayer({
data: [],
map: map,
radius: 16
});


var firebase = new Firebase("https://be-safe-anywhere.firebaseio.com/");
var places = firebase.child('places');

// Get that click from firebase.
places.orderByChild('places').on('child_added',
function(snapshot) {
var newPosition = snapshot.val();
var point = new google.maps.LatLng(newPosition.lat, newPosition.lng);
heatmap.getData().push(point);
}
);


}







google.maps.event.addDomListener(window, 'load', initMap);
</script>

关于javascript - 使用 javascript 从 Firebase 添加地点到热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46613282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com