SetView end up on a blury map

Jul 24, 2008 at 1:37 PM
Hi,

I'm using the DeepEarth control inside a ListboxItem template, I subscribed to the map.Loaded event and call map.SetView with the location coordinates when each item is loaded.
I always end up with a blury map, it looks like the MultiscaleImage control get stuck between 2 map levels.
Here is an example:

 

If I click the map I end up on a clear zoom level:

 

How can I prevent this from happenning?

I looked at the code but could not figure it out. 

Thanks,

Pyt
Coordinator
Jul 25, 2008 at 12:49 AM
Edited Jul 25, 2008 at 12:50 AM
The setview method has a number of bugs, the main one being not panning to the correct position. We need to debug the code and identify why it is not respecting the zoom levels we set and also why it fails to pan to the correct location once it hits that zoom level.
If you have time the look at the method and provide any detials or even a good set of test cases for us that would be much apprehicated in getting it fixed. I'm under with too much work (Virtual Earth event here next Friday) but will get to it soon.
thanks,
Jul 29, 2008 at 6:49 AM
Hi Pyttroll,

Unfortunately there is no easy solution to this, i have been trying to resolve this for a while and with no luck.

The issues causing this are many fold and one of the big reasons for this is because of the issue I identified in the following post (events on MSI not correctly mapping to VE map events ) .
 
What you may want to do in the short term is to remove the transition animations on the MSI, you'll loose the nice paning and zooming effect BUT it should fix the blur.


Jul 29, 2008 at 10:00 PM

FYI:

1. Set UseSprings=false, anytime the viewport changes [ doing a zoom or pan resets this property to true!]

2. Change viewport before adding pushpins.

Sep 16, 2008 at 5:48 AM
Edited Sep 16, 2008 at 5:48 AM
hi

Where do we need to exactly change the UseSpring=false?
In my case, i am searching for an area, so after the serach is done, i definetly need to focus at that particular point. Can you please help me with this.
I am doing
if (shapeLayer == null)
            {
                shapeLayer = new ShapeLayer { ID = "PUSHPIN2" };
                map.Layers.Add(shapeLayer);
            }
            Point pushpinPoint = new Point(80.2764, 13.1067);
            MyCustomPin myPin = new MyCustomPin { Point = pushpinPoint };
            shapeLayer.List.Add(myPin);  
            map.SetView(new Point { X = 80.2764, Y = 13.1067 }, 6);

But it focuses for the first time. When i try to focus the same point again, it takes me to some irrelevant point.
Please help me resolve this.

Thanks

Developer
Sep 16, 2008 at 7:07 AM
in the "DeepEarth" project

folder "Controls"
class "Map.cs"

I make the 

private MultiScaleImage msi;
to 
public MultiScaleImage msi;

then I can access it from the "map" object in me project

e.g.
map.msi.UserSprings = false;

 

 

 

Sep 16, 2008 at 5:23 PM
Hi dotnetnoobie,

This doesn't seem to resolve the problem. Can you please give me the code snippet of how to focus on the point that is been searched. It works for the first time, then it doesn't.
Are we fixing this bug, if so when? This is kind of very urgent for us. Please let us know.

Thanks

Sep 16, 2008 at 11:41 PM
FYI - I encountered another issue with the temporary "UseSprings=false" fix.  When a ShapeLayer is added and this fix is used, the shapelayer is not locked when the map is panned - ie.  the shapelayer does not move with the map.

For the time being I'm ignoring this issue.....