지리공간 객체의 계층 구조 만들기

지리공간 객체는 KML 문서를 프로그램으로 가져오거나 조직용으로 객체를 그룹화하는 편리한 방법입니다. 프로그램에서 KML 문서의 정보를 표시 가능한 객체로 변환해야 하는 경우, GsFolderGsRoot 클래스를 사용하면 요소의 계층 구조를 유지할 수 있습니다. 그러나, 계층 구조의 객체를 지도에 추가하려는 경우에는 해당 객체를 개별적으로 추가해야 합니다. 루트 또는 트리의 폴더를 지도의 MapDataModel에 추가하도록 시도하는 경우, 해당 객체는 지도에서 렌더링되지 않습니다.

net.rim.device.api.lbs.maps.model.geospatial 패키지에는 표시 가능한 요소의 계층 구조를 만들어야 하는 다음과 같은 클래스가 포함되어 있습니다.

클래스 또는 인터페이스

설명

GsRoot

콘텐츠를 렌더링하는 데 사용되는 GsElement 객체와 StyleSet 객체의 계층 구조에 대한 최상급 컨테이너를 나타냅니다.

GsFolder

GsElement 객체뿐만 아니라 GsElement 객체의 그룹을 포함하는 GsRoot 객체도 저장할 수 있는 폴더를 나타냅니다.

GsElement

모든 지리공간 클래스로 구현되는 인터페이스를 정의합니다.

GsElementEnumeration

GsElements 객체의 집합을 통해 열거할 수 있습니다.

폴더에 지리공간 객체 구성하기

다음 코드 샘플은 지리공간 객체의 계층 구조를 만드는 방법을 보여줍니다. 샘플에는 두 가지 다른 GsRoot 객체가 있으며 각 객체에는 지리공간 객체의 배열이 포함되어 있습니다. GsRoot 객체는 폴더 내에 포함되어 있습니다.

GsPoint[] gsPoints = new GsPoint[3];
gsPoints[0] = new GsPoint(45.05, -75.0, "Point 1", "Description.");
gsPoints[1] = new GsPoint(45.0, -74.95, "Point 2", "Description.");
gsPoints[2] = new GsPoint(44.95, -74.975, "Point 3", "Description.");
GsRoot pointRoot = new GsRoot("Root 1", "This root contains points.", 
        gsPoints);
GsMarker[] gsMarkers = new GsMarker[3];
gsMarkers[0] = new GsMarker(44.95, -75.025, "Marker 1", "Description.", 
        "http://www.rim.com/products/appworld_3col.jpg");
gsMarkers[1] = new GsMarker(45.0, -75.05, "Marker 2", "Description.", 
        "http://www.rim.com/products/appworld_3col.jpg");
gsMarkers[2] = new GsMarker(45.05, -75.0, "Marker 3", "Description.", 
        "http://www.rim.com/products/appworld_3col.jpg");
GsRoot markerRoot = new GsRoot("Root 2", "This root contains markers", 
        gsMarkers);
GsFolder folder = new GsFolder("Folder", "The folder holds the root elements.");
folder.addElement(pointRoot);
folder.addElement(markerRoot);

이 정보가 도움이 되었습니까? 의견을 보내 주십시오.