javascript - 谷歌地图模式问题

标签 javascript jquery google-maps twitter-bootstrap modal-dialog

我正在尝试将谷歌地图显示到 Twitter Bootstrap 模式中。 当用户第一次点击按钮 Show map 然后他能够成功地看到 map ,因为我正在生成 map onclick() 函数但是当他关闭模式并重新打开时然后 map 显示不正确, map 的 90% 部分变成灰色,如下所示

enter image description here

我什至尝试了这个解决方法,删除绑定(bind)了 map 的整个 div 并重新生成它,但是这个技巧不太奏效,请告诉我如何解决我的问题。

以下是我调用显示 map 的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);
            }
        });
    }


}

请帮忙,

谢谢

最佳答案

我正在使用 Angular,在 ui.bootstrap.collapse AngularUI 指令上对我有用的是使用超时。该指令与模式有相同的问题,因为直到新 View 完全加载时才定义 map 大小,并且 map 显示为灰色区域。我所做的是将此代码添加到打开折叠内容的按钮。也许您可以使用打开模式的按钮使其适应您的情况。

window.setTimeout(function () {
    google.maps.event.trigger(map, 'resize')
}, 0);

希望对您有所帮助。

关于javascript - 谷歌地图模式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15732427/

相关文章:

javascript - 通过 css 选择元素

jquery - 从复选框中选择时显示来自 jQuery JSON 的相应数据

google-maps - 查找城市的所有地点/地区

java - Android 谷歌地图,移动标记崩溃应用程序

php - 如何将 json 编码的 PHP 数组转换为 Javascript 中的数组?

javascript - Symfony2 - Assets 不加载

javascript - jQuery 为每个 if else 语句添加不同的类

jquery - 如何在jqGrid列中显示不同的值

javascript - 在 n 个字符后剪切一个字符串,但如果它在一个单词的中间,则剪切整个单词

sql-server - 将 sql 08 空间数据获取到 map 上的最简单方法是什么?