# OpenStreetMapLayer and WrapDateLine

**URL:** <https://community.thinkgeo.com/t/openstreetmaplayer-and-wrapdateline/3752>\
**Category:** WPF\
**Created:** [December 10, 2014, 6:43pm UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-wrapdateline/3752 "2014-12-10T18:43:28Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Inna](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/i/8e8cbc/32.png) [@Inna](https://community.thinkgeo.com/u/Inna)\
**Post date:** [December 10, 2014, 6:43pm UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-wrapdateline/3752/1 "2014-12-10T18:43:28Z")

</div>

Hello,  
  
  
  
When&nbsp;I’m&nbsp;using&nbsp;OpenStreetMapLayer&nbsp;with&nbsp;WrapDateLine&nbsp;option,&nbsp;there&nbsp;is&nbsp;a&nbsp;gap&nbsp;around&nbsp;180.

 ![](https://community.thinkgeo.com/uploads/default/original/1X/675d56e4f708f949a32552c0ce105dd8bc6c8eca.png)  
  
  
Here&nbsp;is&nbsp;my&nbsp;code.&nbsp;Am&nbsp;I&nbsp;missing&nbsp;something?  
  

> `private`&nbsp;`void`&nbsp;`Window_Loaded(``object`&nbsp;`sender, RoutedEventArgs e)`  
> `       ``{`  
> `           ``wpfMap1.MapUnit = ThinkGeo.MapSuite.Core.GeographyUnit.Meter;`  
> `           ``wpfMap1.ZoomLevelSet =``new`&nbsp;&nbsp;`OpenStreetMapsZoomLevelSet();`  
> &nbsp;  
> `           ``LayerOverlay worldOverlay = ``new`&nbsp;`LayerOverlay();`  
> `           ``worldOverlay.WrappingMode = WrappingMode.WrapDateline;`  
> `           ``wpfMap1.Overlays.Add(worldOverlay);`  
> &nbsp;  
> `           ``OpenStreetMapLayer layer = ``new`&nbsp;`OpenStreetMapLayer();`  
> `           ``worldOverlay.Layers.Add(layer);`  
> &nbsp;  
> `           ``wpfMap1.Refresh();`  
> &nbsp;  
> `       ``}`

  
  
  
Thanks,  
  
Inna

---

<div class="post-metadata">

**Author:** ![Troy](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/t/85f322/32.png) [@Troy](https://community.thinkgeo.com/u/Troy)\
**Post date:** [December 11, 2014, 2:48am UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-wrapdateline/3752/2 "2014-12-11T02:48:22Z")

</div>

Hi&nbsp;Inna,&nbsp;  
&nbsp;&nbsp;  
&nbsp;Adding&nbsp;the&nbsp;MaxExtent&nbsp;should&nbsp;fix&nbsp;it,&nbsp;please&nbsp;try&nbsp;the&nbsp;codes:&nbsp;  
&nbsp;&nbsp;  
&nbsp;worldOverlay.MaxExtent&nbsp;=&nbsp;new&nbsp;RectangleShape(-20037508,&nbsp;20037508,&nbsp;20037508,&nbsp;-20037508);&nbsp;  
&nbsp;&nbsp;  
&nbsp;Please&nbsp;let&nbsp;us&nbsp;know&nbsp;if&nbsp;it&nbsp;helps.&nbsp;  
&nbsp;Thanks,&nbsp;  
&nbsp;Troy

---

<div class="post-metadata">

**Author:** ![Inna](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/i/8e8cbc/32.png) [@Inna](https://community.thinkgeo.com/u/Inna)\
**Post date:** [December 11, 2014, 11:54am UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-wrapdateline/3752/3 "2014-12-11T11:54:38Z")

</div>

Hi&nbsp;Troy,&nbsp;  
&nbsp;&nbsp;  
&nbsp;Unfortunately&nbsp;it&nbsp;does&nbsp;not&nbsp;help&nbsp;me.&nbsp;I&nbsp;need&nbsp;wrapping&nbsp;option,&nbsp;but&nbsp;setting&nbsp;MaxExtent&nbsp;disables&nbsp;it.&nbsp;  
&nbsp;&nbsp;  
&nbsp;I&nbsp;can&nbsp;set&nbsp;worldOverlay.MaxExtent&nbsp;=&nbsp;new&nbsp;RectangleShape(-20037508\*5,&nbsp;20037508,&nbsp;20037508\*5,&nbsp;-20037508),&nbsp;but&nbsp;then&nbsp;I&nbsp;cannot&nbsp;pan&nbsp;indefinitely.&nbsp;  
&nbsp;&nbsp;  
&nbsp;&nbsp;  
&nbsp;&nbsp;  
&nbsp;Inna

---

<div class="post-metadata">

**Author:** ![Johnny](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/johnny/32/19044_2.png) [@Johnny](https://community.thinkgeo.com/u/Johnny)\
**Post date:** [December 13, 2014, 3:56am UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-wrapdateline/3752/4 "2014-12-13T03:56:57Z")

</div>

Hi&nbsp;Inna,  
  
  
  
Please&nbsp;try&nbsp;the&nbsp;code&nbsp;shown&nbsp;as&nbsp;following:  
  
  
  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;WpfMap\_Loaded(object&nbsp;sender,&nbsp;RoutedEventArgs&nbsp;e)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map1.MapUnit&nbsp;=&nbsp;ThinkGeo.MapSuite.Core.GeographyUnit.Meter;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map1.ZoomLevelSet&nbsp;=&nbsp;new&nbsp;OpenStreetMapsZoomLevelSet();  
  
  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LayerOverlay&nbsp;worldOverlay&nbsp;=&nbsp;new&nbsp;LayerOverlay();  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;worldOverlay.WrappingMode&nbsp;=&nbsp;WrappingMode.WrapDateline;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;worldOverlay.WrappingExtent&nbsp;=&nbsp;new&nbsp;RectangleShape(-20037508,&nbsp;20037508,&nbsp;20037508,&nbsp;-20037508);  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;worldOverlay.MaxExtent&nbsp;=&nbsp;new&nbsp;RectangleShape(-20037508&nbsp;\*&nbsp;5,&nbsp;20037508,&nbsp;20037508&nbsp;\*&nbsp;5,&nbsp;-20037508);  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map1.Overlays.Add(worldOverlay);  
  
  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OpenStreetMapLayer&nbsp;layer&nbsp;=&nbsp;new&nbsp;OpenStreetMapLayer();  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;worldOverlay.Layers.Add(layer);  
  
  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map1.CurrentExtent&nbsp;=&nbsp;new&nbsp;RectangleShape(-20037508,&nbsp;20037508,&nbsp;20037508,&nbsp;-20037508);  
  
  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map1.Refresh();  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}  
  
  
  
Thanks,  
  
  
  
Johnny

---

<div class="post-metadata">

**Author:** ![Inna](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/i/8e8cbc/32.png) [@Inna](https://community.thinkgeo.com/u/Inna)\
**Post date:** [December 15, 2014, 11:24am UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-wrapdateline/3752/5 "2014-12-15T11:24:25Z")

</div>

Hi&nbsp;Johnny,  
  
  
  
It&nbsp;works&nbsp;as&nbsp;a&nbsp;workaround,&nbsp;but&nbsp;is&nbsp;it&nbsp;possible&nbsp;to&nbsp;incorporate&nbsp;the&nbsp;fix&nbsp;in&nbsp;the&nbsp;next&nbsp;release?&nbsp;I&nbsp;believe&nbsp;that&nbsp;other&nbsp;people&nbsp;would&nbsp;be&nbsp;interested&nbsp;in&nbsp;the&nbsp;same&nbsp;fix…  
  
  
  
Anyway,&nbsp;there&nbsp;is&nbsp;a&nbsp;same&nbsp;issue&nbsp;when&nbsp;I’m&nbsp;trying&nbsp;to&nbsp;pre-generate&nbsp;map&nbsp;tiles&nbsp;using&nbsp;CacheGenerator&nbsp;example&nbsp;for&nbsp;OSM.&nbsp;  
  
  
  
Please&nbsp;see&nbsp;attached.  
  
  
  
  
  
  
Inna  
  
[CacheGenerator.zip](https://community.thinkgeo.com/uploads/default/original/2X/d/de8ae199ce40668c1a60f113890e46fc51448224.zip) (22.9 KB)

---

<div class="post-metadata">

**Author:** ![Johnny](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/johnny/32/19044_2.png) [@Johnny](https://community.thinkgeo.com/u/Johnny)\
**Post date:** [December 16, 2014, 1:03am UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-wrapdateline/3752/6 "2014-12-16T01:03:35Z")

</div>

Hi&nbsp;Inna,&nbsp;  
&nbsp;&nbsp;  
&nbsp;Thanks&nbsp;for&nbsp;your&nbsp;suggestion,&nbsp;but&nbsp;I&nbsp;will&nbsp;enter&nbsp;it&nbsp;to&nbsp;our&nbsp;internal&nbsp;issue&nbsp;tracking&nbsp;system&nbsp;to&nbsp;see&nbsp;if&nbsp;there&nbsp;will&nbsp;be&nbsp;a&nbsp;better&nbsp;and&nbsp;smooth&nbsp;solution&nbsp;for&nbsp;it,&nbsp;hope&nbsp;it&nbsp;can&nbsp;be&nbsp;fixed&nbsp;in&nbsp;next&nbsp;release.&nbsp;  
&nbsp;&nbsp;&nbsp;  
&nbsp;For&nbsp;pre-generate&nbsp;map&nbsp;tiles&nbsp;using&nbsp;CacheGenerator&nbsp;of&nbsp;OSM,&nbsp;I&nbsp;guess&nbsp;this&nbsp;should&nbsp;be&nbsp;caused&nbsp;by&nbsp;WrapDateline,&nbsp;because&nbsp;the&nbsp;OpenStreetMapLayer&nbsp;doesn’t&nbsp;support&nbsp;WrapDateLine,&nbsp;I&nbsp;guess&nbsp;this&nbsp;should&nbsp;be&nbsp;a&nbsp;miss&nbsp;in&nbsp;Map&nbsp;Suite,&nbsp;to&nbsp;cache&nbsp;the&nbsp;tiles&nbsp;across&nbsp;the&nbsp;WrapDateLine,&nbsp;please&nbsp;use&nbsp;the&nbsp;TileCache&nbsp;of&nbsp;LayerOverlay&nbsp;instead.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Thanks,&nbsp;  
&nbsp;Johnny&nbsp;

---

<div class="post-metadata">

**Author:** ![Inna](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/i/8e8cbc/32.png) [@Inna](https://community.thinkgeo.com/u/Inna)\
**Post date:** [December 16, 2014, 11:12am UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-wrapdateline/3752/7 "2014-12-16T11:12:11Z")

</div>

Hi&nbsp;Johnny,&nbsp;  
&nbsp;&nbsp;  
&nbsp;What&nbsp;do&nbsp;you&nbsp;mean&nbsp;by&nbsp;“please&nbsp;use&nbsp;the&nbsp;TileCache&nbsp;of&nbsp;LayerOverlay&nbsp;instead”.&nbsp;Could&nbsp;you&nbsp;please&nbsp;give&nbsp;me&nbsp;an&nbsp;example?&nbsp;  
&nbsp;&nbsp;  
&nbsp;&nbsp;  
&nbsp;Inna

---

<div class="post-metadata">

**Author:** ![Troy](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/t/85f322/32.png) [@Troy](https://community.thinkgeo.com/u/Troy)\
**Post date:** [December 17, 2014, 9:30pm UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-wrapdateline/3752/8 "2014-12-17T21:30:23Z")

</div>

Hi&nbsp;Inna,&nbsp;  
&nbsp;&nbsp;  
&nbsp;I&nbsp;think&nbsp;it&nbsp;means&nbsp;we&nbsp;enable&nbsp;the&nbsp;TileCache&nbsp;property&nbsp;on&nbsp;the&nbsp;LayerOverlay&nbsp;in&nbsp;your&nbsp;application&nbsp;and&nbsp;then&nbsp;generate&nbsp;the&nbsp;tiles&nbsp;on&nbsp;the&nbsp;fly.&nbsp;Like&nbsp;Johnny&nbsp;mentioned&nbsp;above,&nbsp;we&nbsp;will&nbsp;try&nbsp;to&nbsp;fix&nbsp;the&nbsp;white&nbsp;line&nbsp;around&nbsp;the&nbsp;dateline&nbsp;issue.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Sorry&nbsp;for&nbsp;the&nbsp;inconveniences.&nbsp;  
&nbsp;Troy

---

<div class="post-metadata">

**Author:** ![Inna](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/i/8e8cbc/32.png) [@Inna](https://community.thinkgeo.com/u/Inna)\
**Post date:** [December 19, 2014, 6:11pm UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-wrapdateline/3752/9 "2014-12-19T18:11:03Z")

</div>

Hi&nbsp;Troy,&nbsp;  
&nbsp;&nbsp;  
&nbsp;&nbsp;  
&nbsp;In&nbsp;my&nbsp;project&nbsp;I&nbsp;need&nbsp;an&nbsp;option&nbsp;to&nbsp;pre-generate&nbsp;tiles&nbsp;based&nbsp;on&nbsp;OpenStreetMap,&nbsp;simply&nbsp;generating&nbsp;tiles&nbsp;on&nbsp;the&nbsp;fly&nbsp;does&nbsp;not&nbsp;help&nbsp;me.&nbsp;&nbsp;&nbsp;  
&nbsp;Is&nbsp;there&nbsp;any&nbsp;workaround&nbsp;I&nbsp;can&nbsp;make&nbsp;until&nbsp;you&nbsp;fix&nbsp;the&nbsp;issue&nbsp;on&nbsp;your&nbsp;side?&nbsp;  
&nbsp;&nbsp;  
&nbsp;&nbsp;  
&nbsp;Inna

---

<div class="post-metadata">

**Author:** ![Johnny](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/johnny/32/19044_2.png) [@Johnny](https://community.thinkgeo.com/u/Johnny)\
**Post date:** [December 23, 2014, 3:43am UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-wrapdateline/3752/10 "2014-12-23T03:43:01Z")

</div>

Hi&nbsp;Inna,  
  
  
  
Just&nbsp;as&nbsp;I&nbsp;mentioned&nbsp;earlier,&nbsp;&nbsp;I&nbsp;guess&nbsp;we&nbsp;are&nbsp;unable&nbsp;to&nbsp;use&nbsp;the&nbsp;TileCacheGenerator&nbsp;to&nbsp;create&nbsp;the&nbsp;tile&nbsp;cache&nbsp;around&nbsp;the&nbsp;WrapDateLine,&nbsp;the&nbsp;workaround&nbsp;is&nbsp;using&nbsp;the&nbsp;code&nbsp;as&nbsp;following&nbsp;to&nbsp;create&nbsp;the&nbsp;tile&nbsp;caches&nbsp;around&nbsp;WrapDateLine:

> `LayerOverlay worldOverlay = ``new`&nbsp;`LayerOverlay();`  
> `worldOverlay.WrappingMode = WrappingMode.WrapDateline;`  
> `worldOverlay.WrappingExtent = ``new`&nbsp;`RectangleShape(-20037508, 20037508, 20037508, -20037508);`  
> `worldOverlay.MaxExtent = ``new`&nbsp;`RectangleShape(-20037508 * 5, 20037508, 20037508 * 5, -20037508);`  
> `Map1.Overlays.Add(worldOverlay);`  
> &nbsp;  
> `OpenStreetMapLayer layer = ``new`&nbsp;`OpenStreetMapLayer();`  
> `worldOverlay.Layers.Add(layer);`  
> &nbsp;  
> `worldOverlay.TileCache = ``new`&nbsp;`FileBitmapTileCache(@``"E:\Cache"``, ``"tileCache"``);`  
> `RectangleShape cacheExtent = ``new`&nbsp;`RectangleShape(); ``// give a cache extent`  
> `Collection<BitmapTile> tiles = worldOverlay.TileCache.GetTiles(cacheExtent);`  
> `foreach`&nbsp;`(var tile ``in`&nbsp;`tiles)`  
> `{`  
> `    ``worldOverlay.TileCache.SaveTile(tile);`  
> `}`

  
&nbsp;Thanks,  
  
Johnny
