지도상 위치에 대한 태그 지정 및 가시성 설정

MapDataModel 클래스에 저장된 위치에 태그를 할당할 수 있습니다. 각 MapField 클래스에는 MapDataModel 인스턴스가 연결되어 있습니다. net.rim.device.api.lbs.maps.model 패키지에 제공되는 MapDataModel 클래스는 컨테이너에 해당합니다. 위치 및 해당 위치와 연관된 데이터를 이 컨테이너에 추가하려면 MapDataModel.add()를 호출하면 됩니다. 이 컨테이너에서 모든 항목 및 연관된 데이터는 지도에 표시 가능한 항목으로 간주됩니다.

모든 직장 위치에 "work" 태그를 할당하는 식으로 항목에 태그를 할당하면 지도에 표시 가능한 항목을 그룹화할 수 있습니다. MapDataModel.add() 또는 MapDataModel.tag()를 호출하면 MapDataModel 컨테이너에 있는 지도에 표시 가능한 항목에 태그를 지정할 수 있습니다. add() 메소드를 사용하면 지도에 표시 가능한 항목을 컨테이너에 추가하면서 해당 항목에 대한 태그를 지정할 수 있습니다. tag() 메소드로는 컨테이너에 있는 지도에 표시 가능한 단일 항목에 대한 태그를 지정할 수 있습니다. 모든 RIM 사무소에 "RIM" 태그가 할당되는 것처럼 여러 위치에 동일한 태그가 할당될 수 있고, 단일 거주지에 "Sarah"와 "Paul"이라는 두 태그가 할당되는 것처럼 단일 위치에 여러 태그가 할당될 수 있습니다.

태그가 할당되어 MapDataModel에 저장된 항목 중 어느 항목이 지도에서 표시되거나 숨겨지는지 지정할 수 있습니다. 기본적으로는 MapDataModel의 모든 항목이 표시됩니다. 예를 들어, 여러 위치에 "park"라는 태그를 추가하고 "park" 태그가 있는 위치만 지도에서 표시되도록 지정할 수 있습니다. 지도에 표시되는 항목을 지정하려면 먼저 MapDataModel.setVisibleNone()을 호출하여 모든 항목이 표시되지 않도록 한 후, MapDataModel.setVisible()을 호출하여 원하는 항목이 표시되도록 하면 됩니다.

코드 샘플: MapDataModel.add() 메소드를 사용하여 위치에 태그 지정

다음 코드 샘플에서는 세 위치를 정의한 후 MapDataModel.add() 메소드를 호출하여 세 위치를 추가하고 각 위치에 태그를 지정합니다. 지도에서는 "RIM" 태그가 있는 위치만 표시됩니다.

MapDataModel model = map.getModel();
MapLocation office01 = new MapLocation( 43.47550, -80.53900, "Head Office", null );
MapLocation office02 = new MapLocation( 43.48261, -80.54169, "Manufacturing", null );
MapLocation justinHome = new MapLocation( 43.47751, -80.54817, "Justin - Home", null);
model.add( (Mappable) office01, "RIM");
model.add( (Mappable) office02, "RIM");
model.add( (Mappable) justinHome, "home");
model.setVisibleNone();
model.setVisible( "RIM" );

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