# OpenStreetMapLayer and BingMapsLayer throwing exceptions

**URL:** <https://community.thinkgeo.com/t/openstreetmaplayer-and-bingmapslayer-throwing-exceptions/3476>\
**Category:** WPF\
**Created:** [July 24, 2013, 2:24pm UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-bingmapslayer-throwing-exceptions/3476 "2013-07-24T14:24:33Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![David15](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/d/dc4da7/32.png) [@David15](https://community.thinkgeo.com/u/David15)\
**Post date:** [July 24, 2013, 2:24pm UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-bingmapslayer-throwing-exceptions/3476/1 "2013-07-24T14:24:33Z")

</div>

Hello,  
  
  
  
I&nbsp;would&nbsp;like&nbsp;to&nbsp;report&nbsp;two&nbsp;different&nbsp;issues&nbsp;in&nbsp;OpenStreetMapLayer&nbsp;and&nbsp;BingMapsLayer&nbsp;implementations&nbsp;(tested&nbsp;in&nbsp;7.0.0.42).  
  
  
  
OpenStreetMap:&nbsp;  
  
&nbsp;-&nbsp;Throws&nbsp;an&nbsp;unhandled&nbsp;argument&nbsp;exception&nbsp;-\>&nbsp;index&nbsp;out&nbsp;of&nbsp;bounds.&nbsp;(DrawExceptionMode.Draw&nbsp;does&nbsp;not&nbsp;catch&nbsp;it).  
  
&nbsp;To&nbsp;reproduce:  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1)&nbsp;&nbsp;Create&nbsp;a&nbsp;OpenStreetMapLayer&nbsp;with&nbsp;3&nbsp;customserverURIs&nbsp;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(&nbsp;I&nbsp;used&nbsp;[a.tile.openstreetmap.org/](http://a.tile.openstreetmap.org/),&nbsp;[b.tile.openstreetmap.org/](http://b.tile.openstreetmap.org/)&nbsp;and&nbsp;[c.tile.openstreetmap.org/](http://c.tile.openstreetmap.org/)&nbsp;)  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2)&nbsp;&nbsp;Add&nbsp;it&nbsp;to&nbsp;a&nbsp;WpfMap,&nbsp;with&nbsp;at&nbsp;least&nbsp;20&nbsp;zoom&nbsp;Levels.  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3)&nbsp;Zoom&nbsp;In&nbsp;up&nbsp;to&nbsp;the&nbsp;highest&nbsp;zoom&nbsp;level.&nbsp;  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4)&nbsp;The&nbsp;control&nbsp;crashes&nbsp;when&nbsp;we&nbsp;reach&nbsp;zoom&nbsp;level&nbsp;number&nbsp;16&nbsp;and&nbsp;beyond.  
  
From&nbsp;my&nbsp;debugging,&nbsp;it&nbsp;seems&nbsp;that&nbsp;the&nbsp;logic&nbsp;that&nbsp;calculates&nbsp;which&nbsp;CustomServerURI&nbsp;to&nbsp;use&nbsp;calculates&nbsp;a&nbsp;negative&nbsp;index&nbsp;past&nbsp;this&nbsp;bound.  
  
  
  
  
  
BingMapsLayer:  
  
-&nbsp;Throws&nbsp;an&nbsp;unhandled&nbsp;exception&nbsp;when&nbsp;we&nbsp;try&nbsp;to&nbsp;use&nbsp;the&nbsp;layer&nbsp;and&nbsp;we&nbsp;do&nbsp;not&nbsp;supply&nbsp;the&nbsp;layer&nbsp;with&nbsp;an&nbsp;ApplicationID&nbsp;(or&nbsp;an&nbsp;invalid&nbsp;one).  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-\>&nbsp;the&nbsp;exception&nbsp;comes&nbsp;from&nbsp;Bing&nbsp;servers&nbsp;returning&nbsp;a&nbsp;HTTP&nbsp;401/403&nbsp;error.  
  
I&nbsp;would&nbsp;have&nbsp;expected&nbsp;the&nbsp;exception&nbsp;to&nbsp;be&nbsp;thrown&nbsp;in&nbsp;the&nbsp;DrawExceptionEvent&nbsp;and&nbsp;that&nbsp;the&nbsp;control&nbsp;would&nbsp;not&nbsp;crash.&nbsp;GoogleMapsLayer&nbsp;already&nbsp;works&nbsp;like&nbsp;that.  
  
  
  
Thanks.  
  
  
  
David

---

<div class="post-metadata">

**Author:** ![Summer1](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/s/c89c15/32.png) [@Summer1](https://community.thinkgeo.com/u/Summer1)\
**Post date:** [July 25, 2013, 2:28am UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-bingmapslayer-throwing-exceptions/3476/2 "2013-07-25T02:28:54Z")

</div>

Hi&nbsp;David,&nbsp;  
&nbsp;&nbsp;  
&nbsp;Thanks&nbsp;for&nbsp;your&nbsp;post,&nbsp;We&nbsp;have&nbsp;fixed&nbsp;the&nbsp;issue&nbsp;of&nbsp;OpenStreetMapLayer.&nbsp;Please&nbsp;try&nbsp;it&nbsp;on&nbsp;latest&nbsp;version&nbsp;7.0.45.0&nbsp;or&nbsp;7.0.0.45,&nbsp;and&nbsp;try&nbsp;it&nbsp;again?&nbsp;  
&nbsp;&nbsp;  
&nbsp;About&nbsp;bingmap,&nbsp;it&nbsp;has&nbsp;a&nbsp;difference&nbsp;with&nbsp;googlemap,&nbsp;the&nbsp;bingmap&nbsp;has&nbsp;one&nbsp;more&nbsp;process&nbsp;in&nbsp;layer.open,&nbsp;which&nbsp;is&nbsp;getting&nbsp;a&nbsp;xml&nbsp;from&nbsp;bing&nbsp;server&nbsp;with&nbsp;the&nbsp;clientid,&nbsp;if&nbsp;the&nbsp;clientid&nbsp;is&nbsp;wrong,&nbsp;then&nbsp;the&nbsp;exception&nbsp;will&nbsp;be&nbsp;thrown.&nbsp;Would&nbsp;you&nbsp;please&nbsp;try&nbsp;the&nbsp;following&nbsp;code&nbsp;to&nbsp;walk&nbsp;around?&nbsp;  
&nbsp;&nbsp;  
&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;Map1.MapUnit&nbsp;=&nbsp;GeographyUnit.Meter;&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyBingMapsLayer&nbsp;bingmapLayer&nbsp;=&nbsp;new&nbsp;MyBingMapsLayer("…");&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bingmapLayer.DrawingExceptionMode&nbsp;=&nbsp;DrawingExceptionMode.DrawException;&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bingmapLayer.DrawingException&nbsp;+=&nbsp;new&nbsp;EventHandler\<DrawingExceptionLayerEventArgs\>(bingmapLayer\_DrawingException);&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LayerOverlay&nbsp;overlay&nbsp;=&nbsp;new&nbsp;LayerOverlay();&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;overlay.Layers.Add(bingmapLayer);&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map1.Overlays.Add(overlay);&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map1.Refresh();&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;  
&nbsp;&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;bingmapLayer\_DrawingException(object&nbsp;sender,&nbsp;DrawingExceptionLayerEventArgs&nbsp;e)&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;}&nbsp;  
&nbsp;&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;class&nbsp;MyBingMapsLayer&nbsp;:&nbsp;BingMapsLayer&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;MyBingMapsLayer(string&nbsp;applicationId)&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;base(applicationId)&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;protected&nbsp;override&nbsp;void&nbsp;OpenCore()&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;try&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;base.OpenCore();&nbsp;}&nbsp;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(Exception&nbsp;ex)&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;  
&nbsp;&nbsp;  
&nbsp;Hope&nbsp;it&nbsp;helps&nbsp;  
&nbsp;&nbsp;  
&nbsp;Summer

---

<div class="post-metadata">

**Author:** ![David15](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/d/dc4da7/32.png) [@David15](https://community.thinkgeo.com/u/David15)\
**Post date:** [July 25, 2013, 3:56am UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-bingmapslayer-throwing-exceptions/3476/3 "2013-07-25T03:56:35Z")

</div>

Hello&nbsp;Summer,  
  
  
  
I’ve&nbsp;implemented&nbsp;the&nbsp;new&nbsp;pattern&nbsp;with&nbsp;our&nbsp;use&nbsp;of&nbsp;BingMapsLayer,&nbsp;it&nbsp;works&nbsp;great.  
  
  
  
For&nbsp;now,&nbsp;we&nbsp;do&nbsp;not&nbsp;see&nbsp;the&nbsp;7.0.0.45&nbsp;in&nbsp;our&nbsp;space.&nbsp;I&nbsp;will&nbsp;try&nbsp;later.  
  
  
  
Thanks,  
  
  
  
David

---

<div class="post-metadata">

**Author:** ![Summer1](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/s/c89c15/32.png) [@Summer1](https://community.thinkgeo.com/u/Summer1)\
**Post date:** [July 25, 2013, 11:09pm UTC](https://community.thinkgeo.com/t/openstreetmaplayer-and-bingmapslayer-throwing-exceptions/3476/4 "2013-07-25T23:09:52Z")

</div>

Hi&nbsp;David,&nbsp;  
&nbsp;&nbsp;  
&nbsp;Great&nbsp;to&nbsp;hear&nbsp;it&nbsp;helped,&nbsp;if&nbsp;you&nbsp;have&nbsp;any&nbsp;more&nbsp;question,&nbsp;please&nbsp;feel&nbsp;free&nbsp;to&nbsp;let&nbsp;us&nbsp;know.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Best&nbsp;Regards&nbsp;  
&nbsp;&nbsp;  
&nbsp;Summer
