Javascript 如何在地图上切换谷歌地图控件?

Javascript 如何在地图上切换谷歌地图控件?,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,在我的应用程序中,我使用的是谷歌地图api v3。我想在打开“地址”面板时移动地图控件,但当我尝试在地图上重画控件时,地图控件不移动。我想要像谷歌地图一样移动所有地图控件。出于演示目的,请转到并搜索酒店或任何东西,然后隐藏侧地址面板。在那里,您可以看到贴图控件总是从窗体边缘移动到面板边缘。我想像这样移动我的地图控件。请提供在地图上移动我的控件的任何解决方案,如谷歌地图。您可以尝试的是在地图左侧留出一点边距,当您关闭地址面板时,删除该边距,并更新地图 比如: <div id="map" st

在我的应用程序中,我使用的是谷歌地图api v3。我想在打开“地址”面板时移动地图控件,但当我尝试在地图上重画控件时,地图控件不移动。我想要像谷歌地图一样移动所有地图控件。出于演示目的,请转到并搜索酒店或任何东西,然后隐藏侧地址面板。在那里,您可以看到贴图控件总是从窗体边缘移动到面板边缘。我想像这样移动我的地图控件。请提供在地图上移动我的控件的任何解决方案,如谷歌地图。

您可以尝试的是在地图左侧留出一点
边距,当您关闭地址面板时,删除该
边距
,并更新地图

比如:

<div id="map" style="width: 400px; height:400px; margin-left:100px"></div>
<a href="#">Expand</a>

<script>
    var map = new google.maps.Map($('#map').get(0));
    map.setCenter(new google.maps.latLng(40.736852, -74.002748));
    map.setZoom(12);

    var o = new google.maps.OverlayView();
    o.draw = function() {}
    o.setMap(map);

    $('a').on('click', function(){
        // Remove margin
        $('#map').css('marginLeft','0px');
        // Get current position in pixels on the map
        var current = o.getProjection().fromLatLngToContainerPixel(map.getCenter());
        // Set position to current - to margin-left.
        map.setCenter(o.getProjection().fromContainerPixelToLatLng({x:current.x - 100, y:current.y}));
    });
</script>

var map=new google.maps.map($('#map').get(0));
map.setCenter(新的google.maps.latLng(40.736852,-74.002748));
map.setZoom(12);
var o=new google.maps.OverlayView();
o、 draw=函数(){}
o、 setMap(map);
$('a')。在('click',function()上{
//删除边距
$('#map').css('marginLeft','0px');
//获取地图上的当前位置(以像素为单位)
var current=o.getProjection().fromLatLngToContainerPixel(map.getCenter());
//将位置设置为当前-至左边距。
setCenter(o.getProjection().fromContainerPixelToLatLng({x:current.x-100,y:current.y}));
});

您是说地址面板滑到一边,地图变宽,控件移到一边吗?要查看我的应用程序,请转到我的应用程序并作为来宾继续,然后单击商店定位器链接。在那里你可以看到谷歌地图,你可以搜索有效的美国邮政编码,如98124。在那里你可以看到地址面板。当地址面板打开时,映射控件始终位于该面板后面。我想用谷歌地图那样的面板来改变我的地图控制。链接:是的。。你是对的。。我想像那样移动我的地图控件。正如你在谷歌地图上看到的。请访问我提供的链接,您可以看到我正在谈论的情景。。谢谢。。!!我认为谷歌不会移动这些控件,它们会改变地图的宽度,并以某种方式将地图立即平移到相同的位置。不知道怎么做。不,谷歌移动了控件,但没有改变地图的宽度,因为地图看起来总是静态的。在一般情况下,如果我们在不加载地图的情况下重新调整地图的大小。它总是显示空白区域。感谢您的评论。。但我们在地图上画了一些大头针。如果我们重新加载地图,意味着它将失去以前的状态。不是重新加载,它只是将中心稍微向右设置。你不会失去任何东西的我可以试着让你回来。。非常感谢你,伙计。。!!如果您有其他解决方案,请提供给我。。