【发布时间】:2011-06-22 22:07:34
【问题描述】:
我想在用户单击按钮时放大(或缩小)地图。地图将调整其左边缘,将其向左移动以变大,同时将右边缘保持在同一位置。当您单击小部件以放大地图(覆盖左侧边栏)时,这基本上就是谷歌地图本身所做的。
我没有问题调整/重新定位包含地图的 div,然后调用 google.maps.event.trigger(map, 'resize'); 唯一的问题是,正如预期的那样,地图的内容在屏幕上移动。我不想那样,我想把地图留在同一个位置,就像谷歌地图一样。换句话说,我希望右边缘的经纬度位置保持不变,因为地图的右边缘不会改变。
调用 map.getCenter() 然后 map.setCenter() 不会做我想要的,当然 (尽管总比什么都不做要好)。 map.panBy() 可能会起作用,因为它以像素为单位(相对于纬度/经度)接受参数,但它会对其进行动画处理,这不是我想要的。
有什么想法吗?我是否必须将纬度/经度转换为像素,还是有更简单的方法可以做到这一点?
【问题讨论】:
标签: javascript google-maps google-maps-api-3