프로그램에 지도 추가

다음 절차는 RichMapField 클래스를 사용하여 지도를 프로그램에 추가하는 방법 및 지도의 중심과 확대/축소 수준을 설정하는 방법을 설명합니다. 프로그램에서 표시되는 지도는 아래 이미지에 나와 있습니다.

이 화면은 중심과 확대/축소 수준이 지정된 RichMapField를 보여 줍니다.
  1. 필요한 클래스와 인터페이스를 가져옵니다.
    import net.rim.device.api.lbs.maps.*;
    import net.rim.device.api.lbs.maps.model.*;
    import net.rim.device.api.lbs.maps.ui.*;
    import net.rim.device.api.ui.*;
    import net.rim.device.api.ui.container.*;
  2. UiApplication 클래스를 확장하여 프로그램 구조를 만듭니다. main()에서 새 클래스의 인스턴스를 만들고 enterEventDispatcher()를 호출하여 프로그램이 이벤트를 수신할 수 있도록 합니다. 프로그램 생성자에서 pushScreen()을 호출하여 프로그램의 사용자 정의 화면을 표시합니다. 3단계에서 설명하는 MapScreen 클래스는 사용자 정의 화면을 나타냅니다.
    public class RichMapFieldDemo extends UiApplication
    {
        public static void main(String[] args)
        {
            RichMapFieldDemo theApp = new RichMapFieldDemo();
            theApp.enterEventDispatcher();
        }
        public RichMapFieldDemo()
        {
            pushScreen(new MapScreen());
        }
    }
  3. FullScreen 클래스를 확장하여 사용자 정의 화면의 구조를 만듭니다. 생성자에서 super()를 호출하여 기본 메뉴를 만듭니다.
    class MapScreen extends FullScreen
    {
        public MapScreen() 
        {
            super( FullScreen.DEFAULT_CLOSE | FullScreen.DEFAULT_MENU );
        }
    }
  4. 화면 생성자에서 MapFactory.getInstance()를 호출하여 MapFactory 클래스의 인스턴스를 만든 다음, generateRichMapField()를 호출하여 RichMapField를 생성합니다.
    RichMapField map = MapFactory.getInstance().generateRichMapField();
  5. 화면 생성자에서 getAction()를 호출하여 MapAction 클래스의 인스턴스를 만듭니다. setCentreAndZoom()를 호출하여 지도의 중심과 확대/축소 수준을 지정합니다. add()를 호출하여 필드를 화면에 추가합니다.
    MapAction action = map.getAction();
    action.setCentreAndZoom(new MapPoint(43.47462, -80.53820), 2);
    add(map);

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