ThinkGeo.com    |     Documentation    |     Premium Support

Fatal Exception on Quick Zoom with Google Maps Layer

If I have the Google Maps (Terrain or other) overlay chosen on my application’s map I get the following exception (fatal) when quickly zooming in using the mouse wheel on an area that has not been previously cached.  I am using the FileBitmapTileCache for caching purposes.  The error is repeatable and I am using version 8.0.0.0 (runtime v4.030319) of the WPFDesktopEdition.  Any ideas on what is happening or ways to recover from the error without crashing the application?



No imaging component suitable to complete this operation was found.

 

Type = System.NotSupportedException



Source = PresentationCore

 

   at System.Windows.Media.Imaging.BitmapDecoder.SetupDecoderFromUriOrStream(Uri uri, Stream stream, BitmapCacheOption cacheOption, Guid& clsId, Boolean& isOriginalWritable, Stream& uriStream, UnmanagedMemoryStream& unmanagedMemoryStream, SafeFileHandle& safeFilehandle)

   at System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream(Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, RequestCachePolicy uriCachePolicy, Boolean insertInDecoderCache)

   at System.Windows.Media.Imaging.BitmapImage.FinalizeCreation()

   at System.Windows.Media.Imaging.BitmapImage.EndInit()

   at ThinkGeo.MapSuite.WpfDesktopEdition.TileOverlay.cBU=(BitmapTile cRU=)

   at ThinkGeo.MapSuite.WpfDesktopEdition.TileOverlay.ahU=(RectangleShape axU=)

   at ThinkGeo.MapSuite.WpfDesktopEdition.TileOverlay.mBU=(RectangleShape mxU=, OverlayRefreshType nBU=, Boolean nRU=)

   at ThinkGeo.MapSuite.WpfDesktopEdition.TileOverlay.DrawCore(RectangleShape targetExtent, OverlayRefreshType overlayRefreshType)

   at ThinkGeo.MapSuite.WpfDesktopEdition.Overlay.Draw(RectangleShape targetExtent, OverlayRefreshType refreshType)

   at ThinkGeo.MapSuite.WpfDesktopEdition.WpfMap.SRQ=(Overlay TBQ=, RectangleShape TRQ=, OverlayRefreshType ThQ=)

   at ThinkGeo.MapSuite.WpfDesktopEdition.WpfMap.QRQ=(IEnumerable`1 RhQ=, RectangleShape RxQ=, OverlayRefreshType SBQ=)

   at ThinkGeo.MapSuite.WpfDesktopEdition.WpfMap.DrawCore(RectangleShape targetExtent, OverlayRefreshType overlayRefreshType)

   at ThinkGeo.MapSuite.WpfDesktopEdition.WpfMap.HxQ=(Object IBQ=, EventArgs IRQ=)

   at System.Windows.Media.Animation.Clock.FireEvent(EventPrivateKey key)

   at System.Windows.Media.Animation.Clock.RaiseAccumulatedEvents()

   at System.Windows.Media.Animation.TimeManager.RaiseEnqueuedEvents()

   at System.Windows.Media.Animation.TimeManager.Tick()

   at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)

   at System.Windows.Media.MediaContext.AnimatedRenderMessageHandler(Object resizedCompositionTarget)

   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

*******************



*******************

Inner Exception details



The component cannot be found. (Exception from HRESULT: 0x88982F50)

 

Type = System.Runtime.InteropServices.COMException





*******************


Hi Thomas,



We tried the 8.0.0.0 but didn’t recreate it now matter how fast I zoom in/out. Did you try to comment out the cache code to see if the issue persists.

I am not sure if it is related with the Google tile requesting limit but I remembered this kind of issue will throw a 403 error. Would you please attach a snipping codes on GoogleLayer, do you use google API or clientId?



We can enable the Exception mode as ThrowException to see if we can get more details on it. 

googleOverlay.DrawingExceptionMode = DrawingExceptionMode.ThrowException;



Waiting for the further information.

Thanks,

Troy