我想制作一些东西,就像我称之为 - 地图拉伸。它似乎给元素一个类,等等,但我认为,这不是最合适的方式。
我看到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();反复运行,使地图中心保持在中心位置。
有人可以分享您的想法吗? :)
谢谢!
答案 0 :(得分:0)
您可以使用setCenter
而不是重新初始化整个地图:
map.setCenter( pos );
map
是对您的Google地图的引用,而pos
是一个位置,就像您在设置地图时可能设置一个位置一样。只需确保在initialize
脚本之外可以使用这两个。