当用户从谷歌地图触发点击事件时,我正在设置标记以放置屏幕中心。但是问题来了,信息窗口内容在视口中不完全可见,如下图所示。我如何通过代码自动平移地图,以便信息窗口在视口中完全可见。我禁用了信息窗口内容中的滚动。
问问题
319 次
1 回答
0
我在 StackOverFlow 中找到了解决方案。顺便感谢 Stackoverflow 团队。
google.maps.Map.prototype.panToWithOffset = function(latlng, offsetX, offsetY) {
var map = this;
var ov = new google.maps.OverlayView();
ov.onAdd = function() {
var proj = this.getProjection();
var aPoint = proj.fromLatLngToContainerPixel(latlng);
aPoint.x = aPoint.x+offsetX;
aPoint.y = aPoint.y+offsetY;
map.panTo(proj.fromContainerPixelToLatLng(aPoint));
};
ov.draw = function() {};
ov.setMap(this);
};
并在单击标记时调用此函数。
于 2015-10-30T11:01:47.863 回答