2012-02-10 5 views
1

패닝, 그것은 말한다 : 주어진 센터Leaftlet : 힘은 리플릿 JS 라이브러리에서

팬지도. 새 중심이 인 경우 현재 화면에서 한 화면 떨어져 있지 않으면 애니메이션 팬을 만듭니다.

아마도 길다란 이야기 일지 모르지만 한 화면 이상 패닝을 적용 할 수있는 방법이 있는지 알고있는 사람이 있습니까? 패닝하는 동안 회색 타일이 있으면 신경 쓸 필요가 없습니다.

출처 : 나는이에 대한 a workaround있다 발견 http://leaflet.cloudmade.com/reference.html

답변

3

:

var offset = map._getNewTopLeftPoint(latlng).subtract(map._getTopLeftPoint(); 
map.panBy(offset); 

개발자가 미래에 더 직접적인 API를 계획하고있다.

+0

업데이트가 있으며, 답변을 추가했습니다.) – Christoph

0

두 개 이상의 화면에 대해 패닝을 수행하려면 animate으로 설정된 setView를 true으로 설정하면됩니다.

map.setView([latitude, longitude], zoom, {animate: true, duration: 1}); 

나는 또한 다음 포인트와 줌 레벨까지의 거리에 따라 기간을 계산하는 것이 좋은 것 같아요, 그래서 항상 부드럽고 너무 빨리하지 않거나 느리게 될 것입니다.

관련 문제