拉伸谷歌地图

时间:2012-08-21 14:30:55

标签: jquery

我想制作一些东西,就像我称之为 - 地图拉伸。它似乎给元素一个类,等等,但我认为,这不是最合适的方式。

我看到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();反复运行,使地图中心保持在中心位置。

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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

map.setCenter( pos );

map是对您的Google地图的引用,而pos是一个位置,就像您在设置地图时可能设置一个位置一样。只需确保在initialize脚本之外可以使用这两个。