# WpfMap.InteractiveOverlays & DrawTileCore

**URL:** <https://community.thinkgeo.com/t/wpfmap-interactiveoverlays-drawtilecore/3195>\
**Category:** WPF\
**Created:** [April 4, 2012, 2:33am UTC](https://community.thinkgeo.com/t/wpfmap-interactiveoverlays-drawtilecore/3195 "2012-04-04T02:33:38Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alex1](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/a/898d66/32.png) [@Alex1](https://community.thinkgeo.com/u/Alex1)\
**Post date:** [April 4, 2012, 2:33am UTC](https://community.thinkgeo.com/t/wpfmap-interactiveoverlays-drawtilecore/3195/1 "2012-04-04T02:33:38Z")

</div>

Hello&nbsp;everybody!

Again&nbsp;I&nbsp;have&nbsp;a&nbsp;question.&nbsp;:)

I&nbsp;&nbsp;created&nbsp;a&nbsp;class&nbsp;inheriting&nbsp;it&nbsp;from&nbsp;InteractiveOverlays.&nbsp;Then&nbsp;I&nbsp;override&nbsp;DrawTileCore&nbsp;there&nbsp;is&nbsp;a&nbsp;function&nbsp;(for&nbsp;example,&nbsp;drawing&nbsp;a&nbsp;polygon).&nbsp;Then&nbsp;I&nbsp;put&nbsp;my&nbsp;class&nbsp;in&nbsp;the&nbsp;property&nbsp;map&nbsp;InteractiveOverlays.&nbsp;When&nbsp;there&nbsp;is&nbsp;no&nbsp;other&nbsp;layers&nbsp;on&nbsp;the&nbsp;map,&nbsp;all&nbsp;excellent.&nbsp;But&nbsp;as&nbsp;soon&nbsp;as&nbsp;I&nbsp;add&nbsp;something&nbsp;(opaque),&nbsp;for&nbsp;example:

`mainOverlay.Layers.Add(new BackgroundLayer(new GeoSolidBrush(GeoColor.GeographicColors.ShallowOcean)));`

the&nbsp;problem&nbsp;starts.&nbsp;In&nbsp;particular,&nbsp;I&nbsp;do&nbsp;not&nbsp;see&nbsp;what&nbsp;I&nbsp;paint&nbsp;now,&nbsp;but&nbsp;without&nbsp;the&nbsp;added&nbsp;layer&nbsp;of&nbsp;everything&nbsp;in&nbsp;sight.&nbsp;How&nbsp;can&nbsp;I&nbsp;change&nbsp;this&nbsp;behavior?&nbsp;The&nbsp;problem&nbsp;is&nbsp;that&nbsp;I&nbsp;create&nbsp;my&nbsp;own&nbsp;class&nbsp;for&nbsp;creating&nbsp;and&nbsp;editing&nbsp;objects&nbsp;(I&nbsp;do&nbsp;not&nbsp;really&nbsp;fit&nbsp;the&nbsp;classes&nbsp;you&nbsp;have&nbsp;created),&nbsp;so&nbsp;I&nbsp;have&nbsp;a&nbsp;problem&nbsp;with&nbsp;what&nbsp;kind&nbsp;of&nbsp;place&nbsp;to&nbsp;insert&nbsp;my&nbsp;class.&nbsp;I&nbsp;thought&nbsp;that&nbsp;property&nbsp;InteractiveOverlays&nbsp;is&nbsp;good,&nbsp;but.....

Can&nbsp;you&nbsp;help&nbsp;me?

Or&nbsp;tell&nbsp;me&nbsp;where&nbsp;to&nbsp;insert&nbsp;the&nbsp;correct&nbsp;class&nbsp;(from&nbsp;InteractiveOverlay)&nbsp;for&nbsp;creation&nbsp;and&nbsp;editing&nbsp;ovjects&nbsp;(not&nbsp;associated&nbsp;with&nbsp;the&nbsp;properties&nbsp;EditOverlay&nbsp;and&nbsp;TrackOverlay&nbsp;on&nbsp;your&nbsp;map).

---

<div class="post-metadata">

**Author:** ![Alex1](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/a/898d66/32.png) [@Alex1](https://community.thinkgeo.com/u/Alex1)\
**Post date:** [April 4, 2012, 10:11am UTC](https://community.thinkgeo.com/t/wpfmap-interactiveoverlays-drawtilecore/3195/2 "2012-04-04T10:11:25Z")

</div>

And&nbsp;after&nbsp;the&nbsp;first&nbsp;question&nbsp;will&nbsp;ask&nbsp;another&nbsp;question&nbsp;immediately,&nbsp;which&nbsp;complements&nbsp;the&nbsp;first.&nbsp;I&nbsp;made&nbsp;my&nbsp;own&nbsp;class,&nbsp;inheriting&nbsp;it&nbsp;from&nbsp;InteractiveOverlay.&nbsp;Implemented&nbsp;its&nbsp;own&nbsp;logic&nbsp;of&nbsp;object&nbsp;creation&nbsp;(with&nbsp;mouse&nbsp;events).&nbsp;Take,&nbsp;for&nbsp;example,&nbsp;a&nbsp;polygon.&nbsp;When&nbsp;I&nbsp;create&nbsp;it&nbsp;during&nbsp;the&nbsp;movement&nbsp;of&nbsp;the&nbsp;mouse&nbsp;(as&nbsp;in&nbsp;your&nbsp;TrackInteractiveOverlay)&nbsp;I&nbsp;need&nbsp;to&nbsp;paint&nbsp;it.&nbsp;How&nbsp;to&nbsp;make&nbsp;it&nbsp;better?&nbsp;Now,&nbsp;I&nbsp;override&nbsp;DrawTileCore&nbsp;and&nbsp;there&nbsp;just&nbsp;draw&nbsp;by&nbsp;calling&nbsp;GeoCanvas.DrawArea&nbsp;for&nbsp;each&nbsp;mouse&nbsp;movement&nbsp;range.&nbsp;But&nbsp;it&nbsp;is&nbsp;slightly&nbsp;slower&nbsp;than&nbsp;it&nbsp;is&nbsp;in&nbsp;your&nbsp;TrackOverlay.&nbsp;Obviously,&nbsp;there&nbsp;are&nbsp;some&nbsp;secrets&nbsp;of&nbsp;how&nbsp;to&nbsp;improve&nbsp;it&nbsp;:)&nbsp;you&nbsp;can&nbsp;tell&nbsp;how&nbsp;to&nbsp;make&nbsp;it&nbsp;more&nbsp;accurate?&nbsp;The&nbsp;same&nbsp;applies&nbsp;to,&nbsp;say,&nbsp;turning&nbsp;the&nbsp;landfill.&nbsp;The&nbsp;logic&nbsp;there&nbsp;is&nbsp;simple&nbsp;and&nbsp;I&nbsp;use&nbsp;your&nbsp;function&nbsp;Rotate&nbsp;(point,&nbsp;angle).&nbsp;  
&nbsp;&nbsp;  
&nbsp;I&nbsp;understand&nbsp;you&nbsp;are&nbsp;also&nbsp;using&nbsp;this&nbsp;feature,&nbsp;but&nbsp;when&nbsp;you&nbsp;turn&nbsp;the&nbsp;landfill,&nbsp;I&nbsp;still&nbsp;a&nbsp;bit&nbsp;slower&nbsp;than&nbsp;it&nbsp;appears,&nbsp;than&nbsp;you&nbsp;have.&nbsp;For&nbsp;some&nbsp;reason&nbsp;I&nbsp;think&nbsp;that&nbsp;to&nbsp;call&nbsp;repaint&nbsp;the&nbsp;entire&nbsp;GeoCanvas&nbsp;not&nbsp;quite&nbsp;correct,&nbsp;may&nbsp;cause&nbsp;redraw&nbsp;only&nbsp;those&nbsp;tiles,&nbsp;which&nbsp;is&nbsp;the&nbsp;figure?&nbsp;In&nbsp;general,&nbsp;I&nbsp;need&nbsp;your&nbsp;advice&nbsp;(and&nbsp;it&nbsp;would&nbsp;just&nbsp;be&nbsp;nice&nbsp;if&nbsp;you&nbsp;gave&nbsp;an&nbsp;example),&nbsp;for&nbsp;example&nbsp;turning&nbsp;a&nbsp;rectangle&nbsp;on&nbsp;the&nbsp;movement&nbsp;of&nbsp;the&nbsp;mouse&nbsp;(just&nbsp;like&nbsp;in&nbsp;your&nbsp;TrackInteractiveOverlay).&nbsp;  
&nbsp;&nbsp;  
&nbsp;Thank&nbsp;you&nbsp;very&nbsp;much!

---

<div class="post-metadata">

**Author:** ![Val](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/v/e56c9b/32.png) [@Val](https://community.thinkgeo.com/u/Val)\
**Post date:** [April 5, 2012, 2:24pm UTC](https://community.thinkgeo.com/t/wpfmap-interactiveoverlays-drawtilecore/3195/3 "2012-04-05T14:24:14Z")

</div>

Alex,

&nbsp;&nbsp;I&nbsp;think&nbsp;that&nbsp;the&nbsp;expected&nbsp;improvments&nbsp;you&nbsp;are&nbsp;describing&nbsp;in&nbsp;this&nbsp;post&nbsp;may&nbsp;be&nbsp;related&nbsp;to&nbsp;what&nbsp;we&nbsp;are&nbsp;investigating&nbsp;following&nbsp;your&nbsp;other&nbsp;post&nbsp;10153&nbsp;[gis.thinkgeo.com/Support/Discussion...fault.aspx](http://gis.thinkgeo.com/Support/DiscussionForums/tabid/143/afv/topic/aff/39/aft/10153/afs/DESC/Default.aspx).&nbsp;I&nbsp;think&nbsp;that&nbsp;all&nbsp;that&nbsp;might&nbsp;be&nbsp;related.&nbsp;So&nbsp;let&nbsp;us&nbsp;concentrate&nbsp;on&nbsp;solving&nbsp;the&nbsp;issue&nbsp;mentioned&nbsp;in&nbsp;that&nbsp;latter&nbsp;post&nbsp;and&nbsp;we&nbsp;will&nbsp;come&nbsp;back&nbsp;to&nbsp;this&nbsp;one&nbsp;if&nbsp;still&nbsp;needed.&nbsp;Thank&nbsp;you.

&nbsp;

---

<div class="post-metadata">

**Author:** ![Alex1](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/a/898d66/32.png) [@Alex1](https://community.thinkgeo.com/u/Alex1)\
**Post date:** [April 5, 2012, 8:40pm UTC](https://community.thinkgeo.com/t/wpfmap-interactiveoverlays-drawtilecore/3195/4 "2012-04-05T20:40:54Z")

</div>

Ok,&nbsp;Thank&nbsp;you,&nbsp;Val!&nbsp;&nbsp;  
&nbsp;Sorry&nbsp;for&nbsp;many&nbsp;questions,&nbsp;just&nbsp;night&nbsp;and&nbsp;day&nbsp;with&nbsp;the&nbsp;library&nbsp;work&nbsp;:)&nbsp;so&nbsp;many&nbsp;questions&nbsp;arise.&nbsp;  
&nbsp;Thank&nbsp;you&nbsp;very&nbsp;much.

---

<div class="post-metadata">

**Author:** ![Val](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/v/e56c9b/32.png) [@Val](https://community.thinkgeo.com/u/Val)\
**Post date:** [April 6, 2012, 8:43am UTC](https://community.thinkgeo.com/t/wpfmap-interactiveoverlays-drawtilecore/3195/5 "2012-04-06T08:43:30Z")

</div>

Alex,

&nbsp;You&nbsp;don't&nbsp;have&nbsp;to&nbsp;apologize.&nbsp;I&nbsp;was&nbsp;just&nbsp;saying&nbsp;that&nbsp;we&nbsp;are&nbsp;organizing&nbsp;the&nbsp;support&nbsp;issue&nbsp;to&nbsp;better&nbsp;serve&nbsp;our&nbsp;users.&nbsp;Actually,&nbsp;I&nbsp;am&nbsp;thanking&nbsp;you&nbsp;for&nbsp;working&nbsp;so&nbsp;hard&nbsp;with&nbsp;MapSuite&nbsp;and&nbsp;helping&nbsp;us&nbsp;make&nbsp;it&nbsp;better.

---

<div class="post-metadata">

**Author:** ![Alex1](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/a/898d66/32.png) [@Alex1](https://community.thinkgeo.com/u/Alex1)\
**Post date:** [April 17, 2012, 5:40am UTC](https://community.thinkgeo.com/t/wpfmap-interactiveoverlays-drawtilecore/3195/6 "2012-04-17T05:40:36Z")

</div>

Hello&nbsp;again,&nbsp;ThinkGeo&nbsp;Team!  
  
In&nbsp;parallel&nbsp;with&nbsp;the&nbsp;main&nbsp;question&nbsp;about&nbsp;the&nbsp;memory&nbsp;consumption&nbsp;would&nbsp;love&nbsp;to&nbsp;get&nbsp;an&nbsp;answer&nbsp;for&nbsp;another&nbsp;important&nbsp;issue,&nbsp;but&nbsp;I&nbsp;think&nbsp;everything&nbsp;is&nbsp;a&nbsp;lot&nbsp;easier.&nbsp;:)  
  
  
  
I'll&nbsp;try&nbsp;to&nbsp;describe&nbsp;the&nbsp;problem.&nbsp;So,&nbsp;I&nbsp;have&nbsp;a&nbsp;Overlay,which&nbsp;contains&nbsp;InMemoryFeatureLayer&nbsp;with&nbsp;Feature-s&nbsp;(green&nbsp;color&nbsp;in&nbsp;the&nbsp;image).  
  
Then&nbsp;I&nbsp;have&nbsp;my&nbsp;own&nbsp;InteractiveOverlay,&nbsp;which&nbsp;I&nbsp;add&nbsp;to&nbsp;the&nbsp;WpfMap.InteractiveOverlays&nbsp;property.&nbsp;In&nbsp;my&nbsp;bed&nbsp;I&nbsp;realize&nbsp;the&nbsp;creation&nbsp;of&nbsp;the&nbsp;landfill.&nbsp;The&nbsp;function&nbsp;draw&nbsp;is&nbsp;as&nbsp;follows:  
  
  
  
_&nbsp;protected&nbsp;override&nbsp;void&nbsp;DrawTileCore(GeoCanvas&nbsp;geoCanvas)_  
  
_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{_  
  
_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;geoCanvas.DrawArea(CurrentTracker.CurrentFeature,_  
  
_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;GeoPen(GeoColor.SimpleColors.Red),_  
  
_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;GeoSolidBrush(new&nbsp;GeoColor(50,&nbsp;255,&nbsp;0,&nbsp;0),_  
  
_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DrawingLevel.LevelOne);_

_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}_

Everything&nbsp;seems&nbsp;to&nbsp;be&nbsp;right&nbsp;and&nbsp;good,&nbsp;the&nbsp;rectangle&nbsp;is&nbsp;drawn,&nbsp;but&nbsp;not&nbsp;in&nbsp;the&nbsp;order&nbsp;that&nbsp;I&nbsp;need.&nbsp;First,&nbsp;draw&nbsp;all&nbsp;the&nbsp;polygons,&nbsp;and&nbsp;have&nbsp;them&nbsp;draw&nbsp;what&nbsp;I&nbsp;draw&nbsp;now.&nbsp;If&nbsp;I&nbsp;inherit&nbsp;a&nbsp;layer&nbsp;of&nbsp;TrackInteractiveOverlay&nbsp;polygon,&nbsp;which&nbsp;I&nbsp;create,&nbsp;will&nbsp;be&nbsp;drawn&nbsp;at&nbsp;the&nbsp;top&nbsp;level.&nbsp;And&nbsp;when&nbsp;just&nbsp;from&nbsp;InteractiveOverlay,&nbsp;it&nbsp;is&nbsp;not&nbsp;at&nbsp;the&nbsp;top&nbsp;level&nbsp;(under&nbsp;the&nbsp;Overlay,&nbsp;which&nbsp;contains&nbsp;InMemoryFeatureLayer).&nbsp;How&nbsp;can&nbsp;I&nbsp;change&nbsp;it?

How&nbsp;do&nbsp;I&nbsp;make&nbsp;my&nbsp;InteractiveOverlay,&nbsp;which&nbsp;I&nbsp;put&nbsp;into&nbsp;the&nbsp;collection&nbsp;WpfMap.InteractiveOverlays&nbsp;(he&nbsp;is&nbsp;in&nbsp;a&nbsp;position&nbsp;that&nbsp;is&nbsp;WpfMap.InteractiveOverlays[0]),&nbsp;drawing&nbsp;at&nbsp;the&nbsp;top&nbsp;level?&nbsp;Thank&nbsp;you&nbsp;very&nbsp;much!&nbsp;I&nbsp;hope&nbsp;it&nbsp;is&nbsp;clear&nbsp;explained&nbsp;:)

P.S.&nbsp;Picture1&nbsp;shows&nbsp;a&nbsp;situation&nbsp;in&nbsp;which&nbsp;I&nbsp;inherited&nbsp;from&nbsp;class&nbsp;InteractiveOverlay,&nbsp;as&nbsp;in&nbsp;picture&nbsp;2&nbsp;so&nbsp;that&nbsp;I&nbsp;inherited&nbsp;from&nbsp;class&nbsp;TrackInteractiveOverlay.

P.P.S.&nbsp;in&nbsp;the&nbsp;post&nbsp;

gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/39/aft/9856/afv/topic/Default.aspx

You&nbsp;are&nbsp;offered&nbsp;the&nbsp;following&nbsp;items&nbsp;to&nbsp;be&nbsp;taken:

_LayerOverlay&nbsp;layerOverlay&nbsp;=&nbsp;new&nbsp;LayerOverlay();_  
  
_Canvas.SetZIndex(layerOverlay.OverlayCanvas,&nbsp;0);_  
  
  
  
If&nbsp;I'm&nbsp;in&nbsp;my&nbsp;code,&nbsp;write&nbsp;it&nbsp;as&nbsp;a&nbsp;solution&nbsp;(I&nbsp;have&nbsp;only&nbsp;the&nbsp;inverse&nbsp;problem):

_Map.InteractiveOverlays.Add("GeoInteractiveOverlay",&nbsp;geoInteractiveOverlay);_  
  
_Canvas.SetZIndex(Map.InteractiveOverlays[0].OverlayCanvas,&nbsp;1000);_

That's&nbsp;all&nbsp;good.&nbsp;But&nbsp;you&nbsp;wrote&nbsp;there,&nbsp;that&nbsp;this&nbsp;solution&nbsp;is&nbsp;not&nbsp;very&nbsp;good.&nbsp;Can&nbsp;you&nbsp;explain&nbsp;in&nbsp;detail&nbsp;why&nbsp;it&nbsp;was&nbsp;not&nbsp;good&nbsp;and&nbsp;what&nbsp;I&nbsp;might&nbsp;face&nbsp;in&nbsp;the&nbsp;future,&nbsp;or&nbsp;offer&nbsp;any&nbsp;other&nbsp;solution&nbsp;to&nbsp;my&nbsp;problem?&nbsp;Thank&nbsp;you&nbsp;very&nbsp;much!

&nbsp;

---

<div class="post-metadata">

**Author:** ![ThinkGeo](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/thinkgeo/32/25029_2.png) [@ThinkGeo](https://community.thinkgeo.com/u/ThinkGeo)\
**Post date:** [May 3, 2012, 12:41pm UTC](https://community.thinkgeo.com/t/wpfmap-interactiveoverlays-drawtilecore/3195/7 "2012-05-03T12:41:21Z")

</div>

Alex,&nbsp;  
&nbsp;&nbsp;  
&nbsp;Val&nbsp;meet&nbsp;some&nbsp;problem&nbsp;now&nbsp;I’m&nbsp;working&nbsp;on&nbsp;this&nbsp;now.&nbsp;  
&nbsp;&nbsp;  
&nbsp;For&nbsp;your&nbsp;description,&nbsp;it&nbsp;seems&nbsp;that&nbsp;you&nbsp;upload&nbsp;two&nbsp;pictures&nbsp;but&nbsp;I&nbsp;don’t&nbsp;see&nbsp;them.&nbsp;  
&nbsp;&nbsp;  
&nbsp;About&nbsp;the&nbsp;solution&nbsp;for&nbsp;SetZIndex,&nbsp;I&nbsp;think&nbsp;the&nbsp;reason&nbsp;that&nbsp;it’s&nbsp;not&nbsp;good&nbsp;is&nbsp;it&nbsp;throws&nbsp;the&nbsp;ordinary&nbsp;order&nbsp;of&nbsp;overlays&nbsp;into&nbsp;confusion,&nbsp;if&nbsp;your&nbsp;application&nbsp;need&nbsp;to&nbsp;adjust&nbsp;the&nbsp;order&nbsp;of&nbsp;overlays,&nbsp;it&nbsp;may&nbsp;have&nbsp;trouble.&nbsp;However,&nbsp;it’s&nbsp;only&nbsp;solution&nbsp;so&nbsp;far&nbsp;for&nbsp;your&nbsp;application,&nbsp;so&nbsp;at&nbsp;least&nbsp;you&nbsp;can&nbsp;try,&nbsp;if&nbsp;something&nbsp;incorrect&nbsp;please&nbsp;let&nbsp;us&nbsp;know.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Thanks,&nbsp;  
&nbsp;James
