Tech. Forum 개발자들을 위한 정보 공유의 장입니다
닫기

Tech.Forum

화면 영역을 정확히 얻어오고 싶습니다.

#1

현재 제 코드에서

tMapView.setZoomLevel(18);
TMapPoint leftTopPoint = tMapView.getLeftTopPoint();
TMapPoint rightBottomPoint = tMapView.getRightBottomPoint();

이렇게 줌을 변경한 다음에 화면에 표시되는 왼쪽, 오른쪽, 아래, 위 영역을 구해오려고 하는데요

저 코드를 쓰면 실제 영역보다 좀 더 크게 잡힙니다.

지도에 클릭 이벤트를 달아놓고 화면 왼쪽위와 오른쪽아래를 클릭해봤는데요

꼭지점 위치의 위도 경도와 메소드를 통해 얻어오는 위도 경도 차이가 꽤 큰 차이가 나는데

왜그런걸까요? 또 어떻게 해야 화면의 정확한 영역을 구해올 수 있을까요?

0 Likes

#2

안녕하세요.

T map API운영담당자입니다.

tMapView.setZoomLevel(18) 을 호출하시고 바로
getLeftTopPoint() 와 getRightBottomPoint() 함수를 호출하게되면,
ZoomLevel이 지도와 동기화가 되기 전에 호출한 함수가
실행이 되어 동기화 전의 ZoomLevel로 화면의 좌표를 가져와서
생기는 문제입니다. setZoomLevel()함수가 적용될수 있는 과정을 거친후,
좌표를 얻어오시면 정상적으로 결과를 받으실수 있습니다.
아래의 딜레이를 주는 코드입니다. 참고하시면 도움이 되실겁니다.


Handler delayHandler = new Handler();

delayHandler.postDelayed( new Runnable() {

@Override

public void run() {

// TODO

}

}, 3000 );


감사합니다.

0 Likes