2013-09-26 5 views
3

Google지도 프로젝트에 대해 일부 맞춤 오버레이를 만들었습니다. 내가 가지고있는 문제는 내가 오버레이를 배치 할 때 오버레이의 왼쪽 위 모서리를 기준으로 배치하기 때문에 오버레이가 점차 오른쪽/아래로 움직이는 것처럼 확대/축소 할 때 나타납니다. 나는 내가 노력의 중심에서 위치로 필요 DIV 오버레이, point.x 및 point.y입니다Google지도 맞춤형 오버레이 위치 이동

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'; 
} 

오버레이의 왼쪽 상단 모서리를합니다. 오버레이의 너비/2와 높이/2를 빼면 중심에 놓일 것 같았습니다. 이것은 x의 너비와 완벽하게 작동하는 것처럼 보이지만 y의 경우 맵을 축소하면 점차 점차 아래로 이동하는 것처럼 보입니다.

답변

1

나는 이것을 실제로 이해할 수있었습니다. x 위치를 2로 나눌 필요가 있지만, y 위치는 2로 나누어야합니다. 나는 point.x가 div의 왼쪽을 기준으로 위치가 정해 졌기 때문에 point.y가 div의 상단을 기준으로 위치한다는 잘못된 가정으로 시작했습니다. point.y는 div의 중간 부분이었고 두 개로 나누었습니다. 실제로는 줌으로 위아래로 움직이게되었습니다.