'2008/07'에 해당되는 글 2건

  1. 2008/07/22 SWT 어플리케이션에서 구글맵 활용
  2. 2008/07/18 이번 방학 계획. (2)
2008/07/22 13:49

SWT 어플리케이션에서 구글맵 활용

지난 학기에 제목만 대자면 그럴 듯 거창해 보이는 항공사예약관리시스템이라는 주제하에 프로젝트를 수행했었다. 우선 DB설계를 하고 그위에 관리자용 GUI어플리케이션과 회원서비스용 웹피이지를 만드는 일이었는데 가장 큰 문제는 팀원 모두 자바와 담을 쌓고 살아온 게 이십 수년인데 무턱대고 관리자 어플은 자바 SWT.. 웹은 JSP기반으로 잡고 시작했다는 점 -_-;;.


사용자 삽입 이미지

구글 맵을 적용한 운항 스케줄 추가 페이지


 어쨌든 팅팅 한 학기 내내 사실 거의 놀면서 마음속 한구석에 나름 뜨겁게 타오르고 있던 불꽃은 구글맵이었다. 아 이렇게 붙이면 이쁘겠다.. 라고 생각은 했지만 막상 때가 되어 코딩에 들어가서 보니 이걸 도무지 어떻게 SWT어플리케이션에 붙여야할지 답이 안나왔다. Browser 컨트롤을 이용해 웹브라우저를 통째로 박아넣는거 까지는 일이 아닌데 이 어거지로 붙여넣은 Browser 컨트롤과 어떻게 통신하느냐.. 하는 문제를 만났다.
 결국은 이렇게 삼류틱한 방법으로 해결했다. -_-;;

 
구글 맵을 사용해 HTML파일을 생성하고 생성한 HTML파일을 SWT Browser control을 이용해 웹 브라우저의 화면을 그대로 이용했는데 이 과정에서의 구글 맵에서 클릭한 좌표를 브라우저 컨트롤의 statusTextChange 이벤트를 이용해 처리 했다. 우선 구글 맵의 html파일에서 특정 마커를 클릭시에 발생하는 클릭 이벤트 리스너를 다음과 같이 작성해 클릭한 마커에 해당하는 좌표 값을 브라우저의 상태 메시지로 출력해주도록 했다.
 

GEvent.addListener(marker, "click", function() {

      var oldStatus;

      oldStatus = window.status;

      window.status = "GMAP:: " + point;

      window.status = oldStatus;

});


구글맵의 마커 이벤트 설정 코드

 

구글 맵의 코드를 위와 같이 작성하고 SWTbrowser 컨트롤에서 StatusTextListener를 등록해 브라우저의 상태메시지를 출력해 보면 다음과 같은 화면을 볼 수 있다. 

사용자 삽입 이미지

StatusText출력 화면


 
 그리고 SWT 어플리케이션은 Browser 컨트롤에 StatusTextListener 를 등록해 “GMAP::”으로 시작하는 상태메시지가 발생했을 때에만 상태메시지에 출력된 좌표를 처리하도록 했다.  

browser.addStatusTextListener(new org.eclipse.swt.browser.StatusTextListener() {

    public void changed(org.eclipse.swt.browser.StatusTextEvent e) {

        if (e.text.contains("GMAP::"))

        {

            // 생략

        }

    }

});


관리자 프로그램의 브라우저 컨트롤 이벤트 리스너 코드 부분

이렇게 얻어진 좌표값을 DB에서 검색해서 슝슝~
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0
2008/07/18 23:02

이번 방학 계획.

스크립트 언어 하나 익히기
- Python이 재밌어 보임

토익
- 일정 점수 넘기면 학교에서 장학금 주기에...


- Ship it, Beautiful Code, GOF Design pattern 정도 보려 생각 중이긴 한데.
책살돈이 ㅡㅜ

인턴 생활중이라 사실 시간이 없다.. 기 보다는 워낙 게을러 터져서
피곤함을 이겨내지 못해서 저걸 다 할 수 있을까 의문이긴 하지만.

P.S. 블로그라는걸 작년 어느날인가 처음 시작하고는

처음에 그 매력에 참 오래간 빠져지내다가. 언젠가부터

소재고갈인지. -아마 귀찮음이겠지- 포스팅을 하지 않게 된 듯하다.

... 이제 좀 다시 만져볼까 -_-;;
크리에이티브 커먼즈 라이선스
Creative Commons License

'My logs' 카테고리의 다른 글

이번 방학 계획.  (2) 2008/07/18
하나로 통신과의 싱거운 싸움  (2) 2008/03/15
이안, EBS토론 실언 사건  (1) 2007/07/13
상실의 시대  (9) 2007/06/25
기자님들 생각 좀 하고 살자구요  (10) 2007/06/05
프리젠테이션.  (0) 2007/06/01
Trackback 0 Comment 2