代码之家  ›  专栏  ›  技术社区  ›  Solo

中心点位于最左上角

  •  -1
  • Solo  · 技术社区  · 9 年前

    我有一个谷歌地图,我用API v3做了一个全屏切换按钮。

    问题: setCenter() 中心位于地图的最左上角。其他一切都有效,如果我将坐标更改为其他坐标,它实际上会更改中心点,但出于某种原因将其设置为左上角。 display:none; 最初使用,但如果按下按钮,我会调用resize。。

    可能出了什么问题?

    //JS
    if( document.getElementById( 'toggle-map' ) ) {
    
        google.maps.event.addDomListener( document.getElementById( 'toggle-map' ), 'click', function() {
    
            jQuery( '.spinner' ).fadeIn();
    
            jQuery( '#map-wrapper' ).toggleClass( 'fullscreen' );
            jQuery( 'body' ).toggleClass( 'locked' );
            jQuery( '.main-wrapper' ).toggleClass( 'locked' );
    
            map.setZoom( 5 );
            map.setCenter( new google.maps.LatLng( 50, 50 ) );
    
            google.maps.event.addListenerOnce( map, 'idle', function() {
    
                google.maps.event.trigger( map, 'resize' );
    
                jQuery( '.spinner' ).fadeOut( 800 );
            });
        });
    }
    
    //CSS
    .fullscreen {
        display: block !important;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        z-index: 10;
    }
    .locked {
        position: fixed;
        height: 100%;
        overflow: hidden;
        width: 100%;
        z-index: 9999;
        top: 0;
    }
    
    1 回复  |  直到 9 年前
        1
  •  1
  •   Solo    9 年前

    修复:添加 setCenter() 之后 'resize' 事件