谷歌地图在bootstrap模式不能正常工作

时间:2015-05-06 10:17:39

标签: twitter-bootstrap google-maps bootstrap-modal google-maps-mobile google-maps-embed

我试图在bootstrap模式中显示谷歌地图已有几天了,我在这里搜索所有答案讨论这个主题,但到现在为止我没有任何作用。 我明白我必须在模态打开后使用调整大小触发器,实际上我使用它但似乎没有任何东西对我有用而且非常令人沮丧。 PLS帮助!

这是我使用的代码:

<script type="text/javascript"
    src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var map;
myLatlng = new google.maps.LatLng(32.0260053,34.8987034);
function initialize() {
    var myOptions = {
        zoom: 14,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById('map-canvas'),
                              myOptions);        
    $('.myMapModal').on('show.bs.modal', function() {

        google.maps.event.trigger(map, 'resize');
        return map.setCenter(myLatlng);
    });
}
google.maps.event.addDomListener(window, 'load', initialize);

HTML:

<div class="modal myMapModal fade" id="myMapModal" >
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title" id="myModalLabel">#f16#</h4>
                </div>
                <div class="modal-body map-modal">
                    <div class="container">
                        <div class="row">
                            <div id="map-canvas" style="width: 500px; height: 480px;"></div>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">סגירה</button>
                </div>
            </div>
        </div>
    </div>  

2 个答案:

答案 0 :(得分:1)

我得到了以下内容,它可以帮助其他人。

BootstrapDialog.show({
            title: 'Point on Map',
            message: ''<div id="selction_map"></div>'',
            onshown: function(dialogRef){
                initMap();
            }
        });

https://nakupanda.github.io/bootstrap3-dialog/

答案 1 :(得分:0)

看看这个:JSFiddle可以为你服务

$("#myMapModal").ready(function() {
    $(window).resize(function() {
        google.maps.event.trigger(map, 'resize');
    });
    $('#myMapModal').modal('show');
    google.maps.event.trigger(map, 'resize');
    return map.setCenter(myLatlng);
});