Real-time rotation of the Windows Phone 8 Map Control
This article explains how to rotate the Windows Phone 8 Map Control object real-time. The provided solution uses the Touch class to react on FrameReported events. It also shows a relatively simple way to test multi touch behavior using the Windows Phone 8 emulator.
Contents |
Motivation
Windows Phone 8 comes with a new Maps framework, and provides extended functionality compared to the Windows Phone 7.1 Maps components. One of these new features is that the developer can set the "Heading" property of the Map control. This property is described on the Maps and navigation for Windows Phone 8 page as: This parameter specifies the directional heading that is pointing “up” on the map. It is represented in geometric degrees by a value that is between 0 and 360, indicating the number of degrees to rotate the map.
Preparation
New features in Windows Phone 8 Maps API
Here are just a few new features for the Location framework I found interesting:
- Improved ability for one-shot location acquisition
- Map control, Map tasks can make use of the downloaded offline maps (no data connection required)
- Background task support for location tracking applications
Since these features are covered quite well in various tutorials in the internet, in this article I will concentrate only on the map view setting feature.
How to test multi touch in the emulator
But before we could start to work on our problem, we have to come over an obstacle: what if you (like me) doesn't have the hardware to test multi touch events on a real device. Luckily there is help on the internet. The Multi-Touch Vista project on codeplex provides a Windows service which emulates a touch screen, with multiple touch point (at least if you happen to have at least 2 pointing devices).
To install this service, follow the steps from the download page.
- Note* The driver worked for me correctly only when I installed it as a Windows service. Make sure to block the native Windows mouse input in the configuration utility (Multitouch.Configuration.WPF.exe)
How the easy way should look like...
The solution
Conclusion
References
Windows Phone Multi-Touch Manipulation
How to handle manipulation events for Windows Phone
Building Apps for Windows Phone 8 Jump Start
Building Apps for Windows Phone 8 Jump Start-Maps and Location in Windows Phone 8
App performance considerations for Windows Phone

