javascript - Google Map API V3 检测容器宽度/高度变化

标签 javascript google-maps google-maps-api-3

我试图检测 map 容器何时发生更改,以便我可以运行 google.maps.event.trigger(map, 'resize'); 但我似乎无法理解它上类。是否有监听器来检测容器何时更改大小?我知道它不起作用,因为 map 上有一个部分是灰色的。

我尝试了以下方法,但当容器大小发生变化时,所有操作似乎都失败了,当我的光标拖动 map 时,bounds_changed 起作用。

google.maps.event.addListener(map, 'bounds_changed', function() {
    google.maps.event.trigger(map, 'resize');
});

google.maps.event.addDomListener(map, 'resize', function() {
    google.maps.event.trigger(map, 'resize');
});

映射声明和 init()

var map, mapOptions, mapElement,valMap,valZoom;
google.maps.event.addDomListener(window, 'load', init);
function init() {
    mapOptions = {
        zoom: 2,
        center: new google.maps.LatLng(40.697299 , -73.809815),
        panControl:true
    };
    mapElement = document.getElementById('map');
    map = new google.maps.Map(mapElement, mapOptions);
    mapCenter();
    mapZoom();
    google.maps.event.addListener(map, 'center_changed', function() {
        mapCenter();
    });
    google.maps.event.addListener(map, 'zoom_changed', function() {
        mapZoom();
    });
google.maps.event.addListener(map, 'bounds_changed', function() {
    google.maps.event.trigger(map, 'resize');
});

}

向上键调整大小

$("#width, #height").keyup(function() {
    delay(function(){
        size();
    }, 500 );
        console.log('0');
        mapElement = document.getElementById('map');
        console.log(mapElement);
        google.maps.event.addDomListener( mapElement, 'resize', function(e){
            console.log( 'Resize', e);
            google.maps.event.trigger(map, 'resize');
            console.log('1');
        });
        console.log('2');
});

最佳答案

您是否尝试过使用类似 google.maps.event.addDomListener( mapElement, 'resize', function(e){console.log( 'Resize', e)} ); 的方法?

也许 Map 对象的监听器不支持'resize'

编辑:JSFiddle

关于javascript - Google Map API V3 检测容器宽度/高度变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22516348/

相关文章:

javascript - 确保在网络版 Google map 上的标记周围填充

javascript - Google map v3 API key 不适用于本地测试

javascript - 如何使用 Bash 命令在文件中查找并替换一些 Javascript 变量

javascript - Ember.js ember-plupload 拖放

google-maps - Dart + Polymer + google_maps

javascript - 加载时将 Google map 信息窗口居中

javascript - 访问 Node.js 中 Json 对象的字段

javascript - 'currentApple' 已经定义在 jslint 中显示

android - Android Maps API 2 中的多个信息窗口

javascript - 将 javascript 输入(谷歌地图)传递给后面的代码