■ OsmGeocodeDataProvider 클래스 : Open Street Map 지오코드 서비스 사용하기

------------------------------------------------------------------------------------------------------------------------


TestProject.zip


MainForm.cs

 

 

using DevExpress.XtraEditors;

using DevExpress.XtraMap;

 

namespace TestProject

{

    /// <summary>

    /// 메인 폼

    /// </summary>

    public partial class MainForm : XtraForm

    {

        //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor

        ////////////////////////////////////////////////////////////////////////////////////////// Public

 

        #region 생성자 - MainForm()

 

        /// <summary>

        /// 생성자

        /// </summary>

        public MainForm()

        {

            InitializeComponent();

 

            #region OPEN STREET MAP 데이터 공급자를 설정한다.

 

            OpenStreetMapDataProvider openStreetMapDataProvider = new OpenStreetMapDataProvider();

 

            openStreetMapDataProvider.WebRequest += openStreetMapDataProvider_WebRequest;

 

            #endregion

            #region 이미지 레이어를 설정한다.

 

            ImageLayer imageLayer = new ImageLayer();

 

            imageLayer.DataProvider = openStreetMapDataProvider;

 

            this.mapControl.Layers.Add(imageLayer);

 

            #endregion

            #region OSM 지오코드 데이터 공급자를 설정한다.

 

            OsmGeocodeDataProvider osmGeocodeDataProvider = new OsmGeocodeDataProvider();

 

            #endregion

            #region 정보 레이어를 설정한다.

 

            InformationLayer informationLayer = new InformationLayer();

 

            informationLayer.DataProvider = osmGeocodeDataProvider;

 

            this.mapControl.Layers.Add(informationLayer);

 

            #endregion

        }

 

        #endregion

 

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method

        ////////////////////////////////////////////////////////////////////////////////////////// Private

 

        #region OPEN STREET MAP 데이터 공급자 웹 요청시 처리하기 - openStreetMapDataProvider_WebRequest(sender, e)

 

        /// <summary>

        /// OPEN STREET MAP 데이터 공급자 웹 요청시 처리하기

        /// </summary>

        /// <param name="sender">이벤트 발생자</param>

        /// <param name="e">이벤트 인자</param>

        private void openStreetMapDataProvider_WebRequest(object sender, MapWebRequestEventArgs e)

        {

            e.UserAgent = "XtraMap Getting Started - Connect to OpenStreetMap";

        }

 

        #endregion

    }

}

 

------------------------------------------------------------------------------------------------------------------------