gpt4 book ai didi

javascript - 谷歌地图 v3 热图在页面加载时不显示

转载 作者:行者123 更新时间:2023-11-29 17:15:53 26 4
gpt4 key购买 nike

我有一个映射页面,它检索 json 响应并创建相关点数组以加载热图。

所有这些都在所需的初始化查询中,该查询被加载并在 jquery 文档中调用。准备就绪。

但奇怪的是,所有外部数据都正常返回并且填充正常,点数组也正常。

但是,当我在热图上调用 setMap(map) 方法时,它不显示。但奇怪的是,如果我使用页面链接来打开或关闭它,它就会显示出来。有任何想法吗?? firebug 中完全没有错误。

var map;
var markers = [];
var markerLatLngArray = [];


function toggleHeatmap() {
heatmap.setMap(heatmap.getMap() ? null : map);
}

function initialize() {

var map_options = {
center: new google.maps.LatLng(53.4902, -7.96),
zoom: 7,
mapTypeId: google.maps.MapTypeId.TERRAIN,
draggableCursor: 'crosshair',
mapTypeControl: true,
scaleControl: true,
streetViewControl: false,
overviewMapControl: false,
overviewMapControlOptions: {
opened: false
}
};

map = new google.maps.Map(document.getElementById('map_canvas'), map_options);
google.maps.event.addListenerOnce(map, 'idle', function(){
document.getElementById('ajax_loading_icon').style.display = "none";
document.getElementById('map_canvas').style.visibility = "visible";
});


jQuery.get("<?php echo $data_url; ?>", {}, function(data) {
jQuery(data).find("marker").each(function() {
var marker = jQuery(this);

var latlng = new google.maps.LatLng(parseFloat(marker.attr("lat")),
parseFloat(marker.attr("long")));

markerLatLngArray.push(latlng);

});


});


pointArray = new google.maps.MVCArray(markerLatLngArray);

heatmap = new google.maps.visualization.HeatmapLayer({
data: pointArray
});

heatmap.setMap(map);

}

最佳答案

这是一个时间问题。在调用 heatmap.setMap 之前, map 不会被初始化。

关于javascript - 谷歌地图 v3 热图在页面加载时不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17996350/

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