【发布时间】:2024-01-22 16:41:01
【问题描述】:
我正在尝试将谷歌地图显示到 Twitter 引导模式中。
当用户第一次单击按钮 Show map 时,他能够成功地看到地图,因为我正在生成地图 onclick() 函数,但是当他关闭模式并重新打开它时,地图无法正确显示,并且 90% 的部分地图变灰,如下所示
我什至尝试了这种解决方法,删除绑定地图的整个 div 并重新生成它,但这个技巧不起作用,请告诉我如何解决我的问题。
以下是我调用显示地图的 onclick 事件的 js 函数
function mapp()
{
//google.maps.event.trigger(map, "resize");
//$("#map_google_canvas").empty();
$("#map_google_canvas").remove();
$("#crmap").append("<div id='map_google_canvas'></div>")
var myOptions = {
center: new google.maps.LatLng(54, -2),
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_google_canvas"), myOptions);
var addressArray = new Array("London, United Kingdom", "London Road, Brentwood, United Kingdom", "Brentwood, United Kingdom");
var geocoder = new google.maps.Geocoder();
var markerBounds = new google.maps.LatLngBounds();
for (var i = 0; i < addressArray.length; i++) {
geocoder.geocode({
'address': addressArray[i]
}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
markerBounds.extend(results[0].geometry.location);
map.fitBounds(markerBounds);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
}
请帮助,
谢谢
【问题讨论】:
-
这是完全正常的预期行为,我很难过。有许多页面,其中谷歌地图“搞砸”并在隐藏->显示->隐藏元素上显示它们。此外,谷歌地图不会每次都搞砸,它很可能会。唯一的解决方案是在其容器设置为显示/可见之前重新生成地图,这里是引导模式。当然,您只需运行一次
addressArray-loop,并将地理编码器结果存储在查找表中。 -
问题正在从以下问题得到解决:*.com/questions/8812268/…
-
酷!不知道调整大小触发器。对以后有很大帮助!已对您的问题和您找到的答案进行了投票。谢谢!
-
您可以考虑回答自己的问题并将其标记为已接受。这是 * 上推荐的过程。其他人可能正在寻找该问题的正确答案。
-
@davidkonrad 我使用了使用不可见的技巧而不是隐藏我的模态并只是更改此属性,它对我有用..
标签: javascript jquery google-maps twitter-bootstrap modal-dialog