[DEVEXPRESS/WINFORM] BingElevationDataProvider 클래스 : 고도 데이터 구하기
DevExpress/WinForm 2020. 6. 25. 23:03728x90
반응형
728x170
▶ MainForm.cs
using System;
using System.Collections.Generic;
using DevExpress.XtraEditors;
using DevExpress.XtraMap;
namespace TestProject
{
/// <summary>
/// 메인 폼
/// </summary>
public partial class MainForm : XtraForm
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// 빙 맵 키
/// </summary>
private string bingKey = "INPUT YOUR BING KEY";
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary>
/// 생성자
/// </summary>
public MainForm()
{
InitializeComponent();
this.bingMapDataProvider.BingKey = this.bingKey;
this.bingElevationDataProvider.BingKey = this.bingKey;
Load += Form_Load;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
#region 폼 로드시 처리하기 - Form_Load(sender, e)
/// <summary>
/// 폼 로드시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void Form_Load(object sender, EventArgs e)
{
this.bingElevationDataProvider.ElevationsCalculated += bingElevationDataProvider_ElevationCalculated;
this.bingElevationDataProvider.GenerateLayerItems = false;
List<GeoPoint> geoPointList = new List<GeoPoint>
{
new GeoPoint(41.145556, -73.995 ),
new GeoPoint(36.131389, -95.937222 ),
new GeoPoint(36.175 , -115.136389)
};
this.bingElevationDataProvider.RequestPointsElevations(geoPointList);
}
#endregion
#region 빙 고도 데이터 공급자 고도 계산시 처리하기 - bingElevationDataProvider_ElevationCalculated(sender, e)
/// <summary>
/// 빙 고도 데이터 공급자 고도 계산시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void bingElevationDataProvider_ElevationCalculated(object sender, ElevationsCalculatedEventArgs e)
{
MapItemStorage storage = new MapItemStorage();
foreach(ElevationInformation information in e.Result.Locations)
{
storage.Items.Add
(
new MapCallout()
{
Text = string.Format("{0}\n고도 = {1} m", information.Location, information.Elevation),
Location = information.Location
});
}
this.vectorItemsLayer.Data = storage;
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
댓글을 달아 주세요