Zooming in past hightest tile

Oct 6, 2010 at 11:36 AM

Hi there. I'm using the latest GMap.NET Winform version. I'd like my application to be able to zoom in past the highest zoom level (typically zoom level 17). Obviously there is no data (i.e. no tiles) at higher zoom levels, but I'd like to simply zoom into the highest tile, or maybe I should say I'd like to "magnify" the highest tile  (i.e. tiles at zoom level 17 or whatever the case may be). Yes, I know the image will get pixelated, but that's fine. Basically I'm looking to achieve the same behaviour as Google Earth, which allows you to keep on zooming in even after it's reached the highest zoom level tiles. Any ideas/pointers?

Thanks...

Oct 6, 2010 at 2:24 PM

the code is implemented already, just need some fix to allow to use higher zoom

Oct 7, 2010 at 1:57 AM
Edited Oct 7, 2010 at 2:54 AM

Can't see a delete option on CodePlex discussions.....

Original post:

Alternatively, you could switch to the WPF version which supports this.  Just change Map.MaxZoom to 20 (for example).

You should be able to host the WPF control in your winforms app (e.g. http://stackoverflow.com/questions/535812/using-a-custom-wpf-control-in-winforms )

Correction:

That's what I thought was happening.  I didn't realise that it's just that some areas support higher zoom levels (21 in the area I was working with).

 

 

Oct 7, 2010 at 9:41 AM

Thanks for the reply. So if I understand correctly, the code to do that has already been implemented but has a bug in it?

Oct 7, 2010 at 11:11 AM

yes, you can edit TileMatrix, and in constructor add 33 levels, So your MaxZoom will be real map MaxZoom + LevelsKeepInMemmory, by default it's 5, so if google has 20 levels, you be able to zoom to 25. And its only in windows forms version, i don't know how to implement this in wpf now ;/

Oct 13, 2010 at 10:11 AM

Mmm... I'm a little lost :) I'm looking at the contructor for the TileMatrix class:

public TileMatrix()
      {
         for(int i = 0; i < Levels.Capacity; i++)
         {
            Levels.Add(new Dictionary<PointTile>(55));
         }
      }

Where should I add the 33 levels? Sorry for my ignorance...

Oct 13, 2010 at 11:16 AM

I was about to ask the same question.

Oct 13, 2010 at 3:54 PM

it's already fixed, by default there is 33 levels