반응형
WPF로 GMap을 구현하려고 하니 너무 자료가 없어서 힘들었다.
다른 분들은 편하게 구현하길 바라며 포스팅 하게 되었다.
먼저 Nuget에서 아래 두가지를 다운받는다.
- GMap.Net.Core
- GMap.NET.WinPresentation
그리고 아래 소스를 다운받아 사용한다.
https://github.com/geobabbler/MBTilesMapProvider
- GlobalMercator.cs
- MBTilesHelper.cs
- MBTilesMapProvider.cs
이렇게 3가지가 주요 파일로
GMap의 MapProvider에 mbtiles를 사용할 수 있도록 해주는 소스이다.
설치가 완료되면 GMapControl을 상속받는 클래스를 하나 생성한다.
using GMap.NET.WindowsPresentation;
namespace WpfApp1
{
class MapControl : GMapControl
{
}
}
- xaml
GMap을 추가할 윈도우 혹은 페이지에 해당 클래스를 추가한다.
<local:MapControl x:Name="gmap"/>
- cs
아래에서 중요한 부분은 1, 2번째 줄이다. 나머지는 입맛대로 설정해주면 된다.
gmap.Manager.Mode = AccessMode.ServerAndCache;
gmap.MapProvider = new MBTilesMapProvider(@"./map.mbtiles");
gmap.Position = new PointLatLng(37, 128);
gamp.MinZoom = gmap.MapProvider.MinZoom;
gamp.MaxZoom = (int)gmap.MapProvider.MaxZoom;
gamp.Zoom = (int)gmap.MapProvider.MaxZoom;
gmap.DragButton = MouseButton.Left;
gmap.CenterCrossPen.Thickness = 0; // 지도 가운데 십자가 안보이게
반응형
'C# > WPF' 카테고리의 다른 글
[C#][WPF] mbtiles 파일을 적용한 GMap에 Map Bound 추가하기 (0) | 2022.05.11 |
---|---|
[C#][WPF] Canvas에 부채꼴(파이) 그리기 (2) | 2022.04.27 |
[C#][WPF] DataGrid 예제 (0) | 2021.12.07 |
댓글