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

Tech.Forum

tmap에서 마커를 클릭하면 해당 좌표를 얻어 tmap 앱과 연동하고자 합니다

#1

안드로이드로 개발하고 있고,
제목과 같이 마커를 클릭하면 해당 좌표를 도착지로 설정해서 tmap 앱과 연동하고 싶은데
구현할 방법이 있을까요?
또 가능하다면 풍선뷰에 정보와 이미지를 넣고 이미지를 클릭하면 tmap 앱이 실행되게 하고 싶습니다.
마커나 이벤트에 이벤트를 부여하는 방법이 있을까요?

+)
for(int i=0; i<PointWido_p.size(); i++){ TMapMarkerItem markerItem_p = new TMapMarkerItem(); // 마커의 좌표 지정 String p_wido = (String) PointWido_p.get(i); String p_kyungdo = (String) PointKyungdo_p.get(i); double p_dwido = Double.valueOf(p_wido); double p_dkyungdo = Double.valueOf(p_kyungdo); TMapPoint p_tmapPoint = new TMapPoint(p_dwido, p_dkyungdo); Bitmap icon_p = BitmapFactory.decodeResource(getResources(), R.drawable.placeholder); markerItem_p.setIcon(icon_p); // 마커 아이콘 지정 markerItem_p.setTMapPoint(p_tmapPoint); //지도에 마커 추가 tmap.addMarkerItem("markerItem_p"+i, markerItem_p); markerItem_p.setCanShowCallout(true); markerItem_p.setCalloutTitle("주차장 위치"); markerItem_p.setCalloutSubTitle(p_wido + "," + p_kyungdo); Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.tmapicon); markerItem_p.setCalloutLeftImage(bitmap); Log.d(TAG, "onStart: 주차장 마커 찍기 완료"); onCalloutRightButton(markerItem_p); }
와 같이 마커가 등록된 상태이고,
풍선뷰를 클릭하면 해당 마커의 위도와 경도를 받아 invokeSetLocation에 넣어 TMap 앱에 연동하고자 하는 상황입니다.
현재 맨 마지막 줄에 onCalloutRightButton(markerItem_p);을 넣으면 마커가 찍힐 때마다 해당 코드도 같이 실행되는데
클릭 시에만 실행되도록 하려면 어떻게 하면 될지도 답변 부탁드립니다!

0 Likes

#2

안녕하세요.
T map API 운영담당자 입니다.

setCalloutRightButtonImage 함수를 이용하여 풍선뷰 오른쪽의 이미지를 생성하신 후 setOnCalloutRightButtonClickListener를 등록하시면 풍선뷰 클릭 시 마커객체의 정보값이 반환됩니다. 이 때 좌표를 뽑아 invokeSetLocation으로 Tmap App 연동시 좌표값을 넣으시면 원하시는 결과를 얻으실 수 있습니다.

자세한 내용은 아래 링크를 참고하시면 도움이 되실 것 같습니다. ------------------------- < setCalloutRightButtonImage > http://tmapapi.sktelecom.com/main.html#android/docs/androidDoc.TMapMarkerItem_setCalloutRightButtonImage

< setOnCalloutRightButtonClickListener >
http://tmapapi.sktelecom.com/main.html#android/docs/androidDoc.TMapView_setOnCalloutRightButtonClickListener

감사합니다.

0 Likes