Asp.net 第二次调用Google map API时未完全加载
我使用的是显示为对话框的Google地图,该控件多次动态添加到页面中。现在,当我第一次打开地图时,它显示良好,我可以选择一个位置并使用它等。但当我再次打开地图时,地图部分显示在左上角。有没有关于为什么会发生这种情况的帮助Asp.net 第二次调用Google map API时未完全加载,asp.net,google-maps,Asp.net,Google Maps,我使用的是显示为对话框的Google地图,该控件多次动态添加到页面中。现在,当我第一次打开地图时,它显示良好,我可以选择一个位置并使用它等。但当我再次打开地图时,地图部分显示在左上角。有没有关于为什么会发生这种情况的帮助 function Initialize(id) { if (!map) { var Utrecht = new google.maps.LatLng(52.071065, 5.111389); var myOptions =
function Initialize(id) {
if (!map) {
var Utrecht = new google.maps.LatLng(52.071065, 5.111389);
var myOptions =
{
zoom: 8,
center: Utrecht
, mapTypeId: google.maps.MapTypeId.ROADMAP
, draggableCursor: 'crosshair'
, streetViewControl: false
, panControl: false
};
var mapDiv = $('#ContentPlaceHolderBody_mapsCtrl' + id + '_map' + id);
map = new google.maps.Map(mapDiv[0], myOptions);
}
else
{
google.maps.event.clearListeners(map);
}
google.maps.event.addListener(map, 'click', function (event) {
position = event.latLng;
CallServer('loc:' + event.latLng.toUrlValue(), "");
});
}
编辑-这是我如何显示与地图对话框
$('#ContentPlaceHolderBody_mapsCtrl' + id + '_mapDiv' + id).dialog({
autoOpen: false,
dialogClass: "no-close",
position: {
my: "center",
at: "center",
of: window
},
width: 800,
height: 600,
open: Initialize(id)
});
$('#ContentPlaceHolderBody_mapsCtrl' + id + '_mapDiv' + id).dialog("open");
AutoResizeFrame();
调用
google.maps.event.clearListeners(窗口“调整大小”)代码>在关闭对话框之前,在初始化函数的else部分工作,现在我得到的地图显示全部时间
else
{
google.maps.event.clearListeners(map);
google.maps.event.clearListeners(window, 'resize');
}
对话框的实现会很有趣