4

我正在尝试在网站中获取自定义谷歌地图 API,但问题是地图未显示完整,仅显示地图的一部分。 在此处输入图像描述

给出下面的代码:

js代码:

$(document).ready(function(){

var map=null; 
    function initialize() {
        var mapOptions = {
            center: new google.maps.LatLng(24.3573, 54.4636),
            zoom: 14,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

        var currCenter = map.getCenter();
        google.maps.event.trigger(map, 'resize');
        map.setCenter(currCenter);
        map.setZoom(14);

        var markerOptions = {
            position: new google.maps.LatLng(24.3573, 54.4636),
            map: map
        };
        var marker = new google.maps.Marker(markerOptions);
        marker.setMap(map);

        var infoWindowOptions = {
            content: '<b>Compnay Name</b><br> Is Here!'
        };
        var infoWindow = new google.maps.InfoWindow(infoWindowOptions);
        infoWindow.open(map, marker);

    };
    google.maps.event.addDomListener(window, 'load', initialize);
});

html代码:

<div class="container">
<h1>Location Map</h1>
<p></p>
 <div id="map-canvas"></div>
</div>

CSS代码:

.container {width: 100%; height: 100%;}
.container #map-canvas {
width: 500px;
height: 250px;
margin: 0;
border: 1px solid rgb(225, 225, 225);}
.map h2{
font-size: 16px;
font-weight: bold;
padding: 20px 0 6px 0;}

请让我知道我做错了什么?

我听说 'google.maps.event.trigger(map, 'resize');' 通常可以解决问题,但是在我的代码中它似乎不起作用,也许我不在正确的位置..请帮忙。

谢谢你。

4

3 回答 3

2

我在使用 tab jQuery 插件时遇到了同样的问题。我在文档准备好时调用 initialize() 函数 ($(document).ready(function() { initialize(); }))。当地图选项卡处于活动状态并且问题消失时,我尝试调用 initialize() 函数。这只是我的经验。祝你好运!

约翰尼

于 2014-02-23T09:29:24.747 回答
1

@Bipin:我有解决该错误的解决方案

在您的 Js 代码中添加以下功能

 function resizeMap(m) {
        x = m.getZoom();
        c = m.getCenter();
        google.maps.event.trigger(m, 'resize');
        m.setZoom(x);
        m.setCenter(c);
    };

//与m是“地图”

然后推送之后的功能

google.maps.event.addDomListener(window, 'load', initialize);
resizeMap(map);

希望解决方案可以提供帮助。

于 2014-12-05T08:20:31.873 回答
0

我有同样的问题,但在我的情况下,地图应该弹出。我通过使用setTimeoutjavascript函数等到弹出动画完成来克服它,然后我调用了地图初始化函数。我希望这有帮助。

此外,您的地图看起来很扭曲。检查这个问题的解决方案: 谷歌地图 api v3 工具:视觉扭曲?

于 2015-02-10T15:56:05.147 回答