以前,我发布了这个问题:
Passing PHP variables to the Google Maps API
问题实际上是将包含纬度/经度的PHP变量传递到Maps Javascript API中。
完整的工作代码如下:
<script>
var marker;
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 13,
center: {lat: parseFloat('<?php echo $lat;?>'), lng: parseFloat('<?php echo $lng;?>')}
});
marker = new google.maps.Marker({
map: map,
draggable: true,
animation: google.maps.Animation.DROP,
position: {lat: parseFloat('<?php echo $lat;?>'), lng: parseFloat('<?php echo $lng;?>')}
});
marker.addListener('click', toggleBounce);
}
function toggleBounce() {
if (marker.getAnimation() !== null) {
marker.setAnimation(null);
} else {
marker.setAnimation(google.maps.Animation.BOUNCE);
}
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&signed_in=true&callback=initMap"></script>
这在本地工作,我得到预期的结果,地图显示正确的位置。
但是当我将网站部署到gearhost时,地图画布从未加载。或者我应该说,永远不要加载。
当我查看页面源时,传入正确的PHP变量并且一切正确。
地图画布背后的原因是什么?