태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

구글어스 API 다루기 [4] - 3D 입체 건물 & 1인칭 시점 효과 주기구글어스 API 다루기 [4] - 3D 입체 건물 & 1인칭 시점 효과 주기

Posted at 2009/05/09 21:35 | Posted in Google Earth API 기초


 

이번 시간에는 3D 입체 건물 사이를 1인칭으로 보는 듯한 효과를 주는 방법을 살펴 보겠습니다.


기본이 되는 코드는 강좌가 시작되는 아래 페이지의 코드 입니다.
http://windowsmobile7.tistory.com/21

함수명등의 일치를 위해 이 코드를 확장 시키는 방법으로 강좌를 진행 하겠습니다.



최종 모습은 아래와 같습니다.

입체 건물 사이로 걸어 가는 듯한 느낌을 볼 수 있습니다.






지명으로 검색하여 이동하는 방법은 지난 시간에 보았습니다. 못보신 분들은 아래 링크를 통해 확인 하세요.
http://windowsmobile7.tistory.com/33


우선 바디 부분에 버튼을 추가 하고 onClick 이벤트를 추가해 줍니다.


 <input type="button" value="3D지형보기" id="building" onclick="showBuildings()"  >



그리고나서 자바스크립트 부분에 showBuildings() 메소드를 정의해 줍니다.

 function showBuildings() {
    if (document.getElementById('building').value == '3D지형보기') {

        ge.getLayerRoot().enableLayerById(ge.LAYER_BUILDINGS, true);
        var la = ge.createLookAt('');

        var la1 = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);

        la.set(la1.getLatitude(),
                 a1.getLongitude(),
                 0,
                 ge.ALTITUDE_RELATIVE_TO_GROUND,
                 0,
                 80,
                 500);

        ge.getView().setAbstractView(la);
        document.getElementById('building').value = '3D보기해제';
    }

    else {
              
         ge.getLayerRoot().enableLayerById(ge.LAYER_BUILDINGS, false);

        var la1 = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
        la.set(la1.getLatitude(),
                 la1.getLongitude(),
                 0,
                  ge.ALTITUDE_RELATIVE_TO_GROUND,
                 0,
                 0, 
                20000);

        ge.getView().setAbstractView(la);

        document.getElementById('building').value = '3D지형보기';
    }
}


버튼을 클릭하면

ge.getLayerRoot().enableLayerById(ge.LAYER_BUILDINGS, true);
으로 3D건물 보기를 활성화 합니다.

또한 현재 중심지역의 좌표이용해 확대하고
줌레벨과 시야 각도를 이용하여 1인칭의 느낌을 줍니다.

이때 단축키인 W A S D 를 이용하면 1인칭으로 이동하는 듯한 효과도 연출 됩니다.


해제시에는 그 반대 방법으로 중심 좌표를 이용 줌을 아웃하고 3D건물 보기를 비활성화 시킵니다. 


테스트 화면입니다.
아직 국내에는 많은 건물들이 표현되지 않으므로
지난 시간에 배웠던 검색을 통해 미국쪽으로 가면 많은 건물을 볼 수 있습니다.





Creative Commons License


  1. 안녕하세요. 4개의 구글어스와 관련된 포스트 잘 봤습니다.

    제가 궁금한게 있는데,

    웹 브라우저로 구글어스와의 연동은 되는데, 웹 브라우저에서 kml 파일을

    불러와서 구글어스처럼 마커나 지점을 연결하는 선들을 그대로 표현할 수 있을까요?
  2. 감사합니다 ^^

    진작에 API를 볼걸 그랬어요.

    AJAX까지 응용한 소스가 공개되어 있네요.

    역시... 공짜는 마다하면 안되는건지..ㅎㅎㅎ 좋은 하루 되세요~

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

1 ... 57 58 59 60 61 62 63 64 65 ... 79