0

我想做一些东西,就像我所说的那样——地图拉伸。似乎给元素一个类,等等,但我认为,这不是最合适的方式。

我在 ios Foursquare 中看到了拉伸谷歌地图的非常有趣的解释,当你在看到任何场地信息和地图时触摸并向下滑动手指。中心一直留在原地,高度增长。

到目前为止,我是这样做的:

$('#map_canvas').click(function() {
    if($( '#content #map_canvas' ).hasClass('small_map')){
        $( '#content #meta' ).hide();
        $( '#content #description' ).hide();
        $( '#content .social' ).hide();

        $( '#content #map_canvas' ).removeClass('small_map');
        $( '#content #map_canvas' ).addClass('large_map');
    }else {
        $( '#content #meta' ).show();
        $( '#content #description' ).show();
        $( '#content .social' ).show();

        $( '#content #map_canvas' ).removeClass('large_map');
        $( '#content #map_canvas' ).addClass('small_map');
    }
    initialize();   
});

...通过单击地图,隐藏所有内容并拉伸地图高度。但我不喜欢我必须调用 initialize(); 一遍又一遍地运行,以保持地图中心在中心。

有人可以分享你的想法吗?:)

谢谢!

4

1 回答 1

0

您可以使用setCenter而不是重新初始化整个地图:

map.setCenter( pos );

Wheremap是对您的 google 地图的引用,并且pos是一个位置,就像您在设置地图时可能已经设置的位置一样。只要确保这两个在您的initialize脚本之外可用。

于 2012-08-21T14:34:59.013 回答