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

Tech.Forum

[Android] TMapMarkerItem2 애니메이션 마커 실행방법

#1

private void OnMarkerClicked(MarkerOverlay mo, String str){
mo.setOnMarkerItem2ClickListener(new MarkerOverlay.OnMarkerItem2ClickListener() {
@Override
public void onClick(PointF point, TMapView mapView) {
ArrayList list = new ArrayList();
list.add(bitmapGray);
list.add(bitmapGreen);
list.add(bitmapRed);
mo.setAniDuration(8000);
mo.setAnimationIcons(list);
mo.startAnimation();

        }
    });

TMapMarkerItem2를 상속받은 MarkerOverlay를 사용해서 애니메이션 마커를 쓸려 하는데 실행이 되질 않습니다.
TMapMarkerItem2 클래스에서 startAnimation을 찾아봤는데

public void startAnimation() {
}
이런식으로 아무 코드가 없습니다…
혹시 아직 구현을 안해놓으신건가요?

0 Likes

#2

안녕하세요.

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

TMapMarkerItem2는 사용자 정의 풍선뷰와 애니메이션을 사용할 수
있는 클래스 입니다. startAnimation()함수의 경우 MarkerOverlay.java에서
재정의를 통해 사용가자 원하는 애니메이션 효과를 사용하실수 있습니다.
해당 내용과 관련하여 예제와 가이드 링크를 남겨 드리겠습니다.


Ex)

private int mAnimationCount = 0;

Handler mHandler = null;

@Override
public void startAnimation() {
	super.startAnimation();
	
	Runnable mRunnable = new Runnable() {
        @Override
        public void run() {
			if (getAnimationIcons().size() > 0) {
        		if(mAnimationCount >= getAnimationIcons().size())
        			mAnimationCount = 0;
        		
        		setIcon(getAnimationIcons().get(mAnimationCount));
        		mMapView.postInvalidate();
        		mAnimationCount++;
        		mHandler.postDelayed(this, getAniDuration());
        	}
        }
    };
     
    mHandler = new Handler();
    mHandler.post(mRunnable);
}

[TMapMarkerItem2 Doc]
http://tmapapi.sktelecom.com/main.html#android/docs/androidDoc.TMapMarkerItem2


감사합니다.

0 Likes