Skew / rotate the map?

Coordinator
Jul 3, 2008 at 11:41 PM
Rotation of the map has been already requested but I wonder what would be the advantages of being able to skew the map?
http://blogs.msdn.com/delay/archive/2008/07/03/the-layout-system-lies-have-become-a-bit-more-elaborate-layouttransform-functionality-updated-and-enhanced-for-silverlight-2-beta-2.aspx
It could give an almost 3D surface, if we could somehow allow custom pins to not be effected we could get some very interesting effects. I'm thinking for example of a mode for panorama photos where the map surface almost goes flat (horizontal) and then you can navigate the aligned panorama.
Coordinator
Jul 16, 2008 at 4:46 AM
Rotation of the map seems pretty trival!
http://silverlight.net/blogs/msnow/archive/2008/07/14/tip-of-the-day-17-how-to-animate-a-rotating-image.aspx

I just had a 2 min play and it seems to work fine. It looks to me though we would need to put at least the msi and the shapelayer canvas in some sort of container and only rotate these around the center, by default it rotates from 0,0 which is not what we want. Need to consider does the Adorner layer also get transformed? Clearly we wouldn't want the dashboard or other UI panels to move. So I guess its just a little tricky where exactly we group items and rotate.
Great little project for someone to play with.
Developer
Jul 16, 2008 at 5:05 PM
To rotate around the center, set RenderTransformOrigin="0.5,0.5" on the root element that has the renderTransform applied to it. To my knowledge, if the adorner layer is 'attached' to the root element that has the rendertransform then it will also receive the transform (not 100% certain though).

For the UI panels, what I have done in previous projects is place all of those items in a controls layer that sits ontop of the other layers. A basic grid structure such as the following:

<Grid>
<Map layer />
<Controls layer />
</Grid>

This way, the controls will always be on top of the map layer (unless z ordering is changed) and you can rotate the map layer how you wish and not affect the controls layer. That's just one option though. Hope that helps some!
Coordinator
Jul 16, 2008 at 11:46 PM
Sounds very reasonable. The adorner layer is for feedback to user for example the polygon for the zoombox. If this is also rotated it means its calulations won't change which is awesome, I just wonder if it will look weird. I guess the best way to see is to prototype it!
aquaseal, did you want to have a play with this? Send me a message or just reply here if you want to be added to the project.
Developer
Jul 17, 2008 at 12:56 PM
I would love to participate! But I must say first that I cannot devote 100% of my free time to this project and only add functionality here and there. If that is ok with you guys then yes, please sign me up! Thanks!
Coordinator
Jul 17, 2008 at 11:01 PM
Everyone here is the same. Feel free to make a work item, assign it to yourself and have fun.
The idea is you can use the same "prototype" web project but can make your own aspx page and own SL control inheriting from the map if you want to make any serious changes and don't want others conflicting. The current strategy is around extending the functionality in the web project then looking at putting what will be the core into the actual control. We all agree the control should be lightweight, even features like the co-ordinate display will be moved out, we are still looking for the best way for people to pull in just the bits they need.

Clearly fixing a bug or added a core feature just do in the real control code. Codeplex is awesome, we can always get any previous version.

Any questions just ask. You can also post private discussions that only the dev team can see.

We are still very much in our new functionlaity / prototyping stage, I hope to get some free time next month to put together our first release.