2

我在使用 Google JavaScript API 时遇到了 gmap 加载问题,并且在初始化项目时它没有完全加载。我尝试了所有可用的解决方案,但没有奏效。此外,如果重新加载或调整页面大小,它可以工作。

    <script type="text/javascript" src="http://maps.google.com/maps/api/js?key=AIzaSyDWTQpi0GTmb6hoIjbBlcGYfZLAkaDmqLI"></script>
    @Scripts.Render("~/bundles/gmaps")
    <script type="text/javascript">
        $(document).ready(function () {
            var map = new GMaps({
                div: '#gmap_basic',
                lat: 25.261502,
                lng: 55.29155,
                zoom: 15,
                width: '100%',
                height: '300px',

            });
            map.addMarker({
                lat: 25.261502,
                lng: 55.29155,
            });
        })
    </script>

html:

<div class="portlet-body">
    <div id="gmap_basic" class="gmaps"></div>
</div>

似乎在页面的左上角!我该如何解决这个问题?

在此处输入图像描述

4

1 回答 1

0

我正在使用“引导”我的项目。因此,bootstrap 提供了一种方法来使用shown.bs.'your element tag'事件执行此操作。我解决了这个问题。我希望它对每个人都有用。

html

<div class="portlet-body">
    <div id="gmap_basic" class="gmaps"></div>
</div>

JS

<script type="text/javascript">
        $(document).ready(function () {
            $('#tabGmap').on('shown.bs.tab', function (e) {
                var Lat = 'your map lat';
                var Lon = 'your map lon';
                var map = new GMaps({
                    div: '#gmap_basic',
                    lat: Lat,
                    lng: Lon,
                    zoom: 14,
                    scaleControl: false,
                    width: '100%',
                    height: '300px',
                    center: new google.maps.LatLng(Lat, Lon)

                });
                map.addMarker({
                    title: 'Map title',
                    lat: Lat,
                    lng: Lon
                });
            });
        })

    </script>

输出 在此处输入图像描述

于 2015-06-09T08:59:40.613 回答