C# WPF offline MAP ์ง€ํ˜• ๊ตฌํ˜„

์•ˆ๋…•ํ•˜์„ธ์š”. ์ตœ๊ทผ MFC ๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ WPF C#์œผ๋กœ ๋ณ€๊ฒฝ ์ค‘
๋ง‰ํžˆ๋Š” ๋ถ€๋ถ„์ด ์žˆ์–ด ๊ณ ๊ฒฌ์„ ๋“ฃ๊ณ ์ž ๊ธ€์„ ์“ฐ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฌด๋ฃŒ๋กœ ์ด์šฉ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ถ€๋ถ„์˜ ์ œ์•ฝ ์‚ฌํ•ญ์ด ์กด์žฌ ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ1. ๋ฌด๋ฃŒ๋กœ ์ œ๊ณตํ•˜๋Š” ์ง€๋„ ๋งต์„ offline์—์„œ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ GMAP.NET์„ ํ†ตํ•ด ๊ตฌํ˜„ํ•˜๋ ค ํ–ˆ์œผ๋‚˜, ๋ฌด๋ฃŒ๋กœ ์ œ๊ณต๋˜๋Š” ๋งต or ๋งต์˜ ํฌ๊ธฐ๋กœ ์ธํ•ด ๋ง‰ํžˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฟ๋งŒ์•„๋‹ˆ๋ผ, ์‚ฌ์šฉ ์˜ˆ๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์•„ ๋งŽ์€ ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ใ… ใ…  ํ˜น์‹œ ๊ฐ™์€ ๊ฒฝํ—˜์ด๋‚˜ ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์ด ์žˆ๋Š”์ง€ ๊ณต์œ  ๋ถ€ํƒ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋ฌธ์ œ2. Windowsformsintegration์˜ hosting๊ธฐ๋Šฅ์„ ํ†ตํ•ด wpf์—์„œ winform์ฝ”๋“œ์™€ EGIS.Controls๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ shp ํŒŒ์ผ์„ ์ฝ์–ด์™€ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์ง€๋งŒ, ์ง€๋„ ์œ„์— TextControl๋“ฑ ๋‹ค์–‘ํ•œ control์„ ํ‘œ์‹œํ•˜๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ด์•ผ ํ• ์ง€ ๋ง‰๋ง‰ํ•ด ๊ธ€์„ ์˜ฌ๋ฆฌ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
Z-ordering์œผ๋กœ ํ•ด๊ฒฐ์ด ์•ˆ๋˜๋Š”๋ฐ ํ˜น์‹œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด๋‚˜ ํ•ด๊ฒฐ์ฑ…์„ ์•Œ๊ณ  ๊ณ„์‹œ๋ฉด ๊ณต์œ  ๋ถ€ํƒ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

GMAP.NET ์— ๋Œ€ํ•ด ์ž˜ ์†Œ๊ฐœํ•œ ๊ธ€ ๊ณต์œ  ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
C# GMap.NET ๊ฐ•์ขŒ : ์ œ 1๊ฐ• - ์†Œ๊ฐœ ๋ฐ ์„ค์น˜ - YUN DAE HEE

zorder๋ฅผ ํ™œ์šฉํ•ด์„œ Windowsformsintegration ์œ„์— ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ทธ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์€ ๋””์ž์ธ์  ํ•œ๊ณ„๋กœ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

In a WPF user interface, you can change the z-order of elements to control overlapping behavior. A hosted Windows Forms control is drawn in a separate HWND, so it is always drawn on top of WPF elements.
A hosted Windows Forms control is also drawn on top of any Adorner elements.

WPF ์ปจํŠธ๋กค๋“ค์„ ์ฐพ์•„๋ณด์…”์•ผ ๋˜์ง€ ์•Š์„๊นŒ ์‹ถ๋„ค์š”.
๋Œ€๋ถ€๋ถ„ ์ƒ์šฉ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

  • MapSui for WPF
  • DotSpatial
  • ArcGIS Runtime WPF
  • SharpMap
  • GMap
  • ThinkGeo Desktop Maps
2๊ฐœ์˜ ์ข‹์•„์š”

WindowsFormsHost๊ฐ€ ํ•ญ์ƒ top์ด๋ผ WPF ์ปจํŠธ๋กค๋ฅผ ์˜ฌ๋ฆด ์ˆ˜ ์—†๋Š” ์ด์Šˆ๋ฅผ work-aroundํ•œ ํŒจํ‚ค์ง€๊ฐ€ ์กด์žฌํ•˜๋„ค์š”.
๊ณต์œ  ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
๋‹ค๋งŒ ์„ฑ๋Šฅ ์ €ํ•˜ ์ด์Šˆ๊ฐ€ ์žˆ์–ด์„œ ๊ฐ์•ˆํ•ด์•ผ ๋œ๋‹ค๊ณ  ํ•˜๋„ค์š”.

์‚ฌ์šฉ๋ฒ•

xmlns:asf="clr-namespace:AirspaceFixer;assembly=AirspaceFixer"

<asf:AirspacePanel FixAirspace="{Binding FixAirspace}">
    <WebBrowser x:Name="Browser" />
</asf:AirspacePanel>

๋‹ค๋ฅธ ๋ฐฉ๋ฒ•

2๊ฐœ์˜ ์ข‹์•„์š”