我为我正在做的一个谷歌地图项目制作了一些自定义叠加层。我遇到的问题是,当我定位叠加层时,它会根据叠加层的左上角定位它,所以当我放大和缩小时,它看起来好像叠加层正在逐渐向右和向下移动。我需要它从中心定位,所以我尝试了:
var point = this.getProjection().fromLatLngToDivPixel(this.latlng_);
if (point) {
div.style.left = point.x - $(this.content).outerWidth(true)/2 + 'px';
div.style.top = point.y - $(this.content).outerHeight(true)/2 + 'px';
}
其中 div 是叠加层,point.x 和 point.y 位于叠加层的左上角。我想如果我减去覆盖的宽度/2 和高度/2,它就会居中。这似乎与 x 的宽度完美配合,但对于 y,当我缩小地图时,位置似乎仍逐渐向下移动。