在我的应用程序中,我使用的是谷歌的谷歌地图api v3。当我打开我的地址面板时,我想要移动我的地图控件,但是当我尝试在地图上重新绘制控件时,地图控件不会移动。我想像谷歌地图一样移动所有的地图控制。出于演示目的,请转到https://maps.google.co.in/并搜索酒店或任何内容,然后隐藏旁边的地址面板。在那里你可以看到地图控件总是从边缘移动到面板边缘。我想像这样移动我的地图控件。请提供任何解决方案移动我的地图上的控制喜欢谷歌地图。
发布于 2013-08-31 02:21:53
您可以尝试在左侧为地图添加一点margin
,当您关闭地址面板时,删除该margin
并更新地图。
所以就像这样:
<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>
https://stackoverflow.com/questions/18538356
复制相似问题