This project is read-only.

VIEWS or the Virtual Earth Map Control for Silverlight?

VIEWS was developed before the Virtual Earth Map Control for Silverlight was released. The Virtual Earth Map Control integrates much more tightly with the Silverlight runtime and provides you the ability to geographically align any visual element with the map. Therefore, the official Silverlight Map Control is recommended for the majority of Silverlight projects. However, VIEWS may still prove advantageous for mixed-mode (JavaScript + Silverlight) applications or where functionality is required that the AJAX control provides and the Silverlight control does not.

The official Map Control for Silverlight is currently available through Microsoft Connect. Chris Pendleton also provided a great introduction to the control at Mix 2009.


The Virtual Earth Wrapper for Silverlight (VIEWS) is a wrapper around the JavaScript Virtual Earth control that allows a developer to write a complex Virtual Earth Mashup using a managed language for all client-side scripting. This is accomplished by using the CLR (Common Language Runtime) support in Silverlight 2.0 (or later), and allows coding in C#, VB, Python, or other languages. Many developers already are using a managed language in ASP.NET for server-side tasks, now the same managed language can be used on the client-side as well, leveraging existing knowledge, and providing more continuity and consistency to the end-to-end solution.

See a demo of VIEWS on Channel 9!


We plan to provide additional documentation, but for now your best resource still remains the Virtual Earth SDK. We tried hard to strike the right balance between staying true to the SDK and providing a proper managed interface.

For example, VEMap is still called VEMap, but the onchangeview event was renamed to ViewChanged. Another example is the implementation of the map events themselves. In JavaScript a VEMapEvent is passed to a method and the method returns true if the event has been handled. In our managed wrapper, VEMapEvent has been changed to VEMapEventArgs and this class exposes a Boolean Handled property. Finally, .Net naming conventions were followed, meaning that a lower case ‘x’ field will have become an uppercase ‘X’ property. We welcome your feedback on these changes.

Getting Started

Please see the Getting Started page for instructions on getting VIEWS up in running in your own Silverlight projects.

Contributing to VIEWS

We welcome contributions from the community. Here are a few ways you can help:
  • Submit bug reports to the Issue Tracker
  • Submit feature requests to the Issue Tracker
  • Volunteer to fix a bug or implement a feature <- Highly recommended :)
  • If you would like to submit a bug fix or feature but aren't an ongoing contributor, please:
  • Zip up your code and post them as an attachment to the work item.
  • Follow the Assignment Agreement Instructions to become a code contributor (only needs to be done once, not for every submission).

Please Note: By posting your submission to the Issue Tracker, you agree to do so under the CodePlex TOU.

Special Thanks

VIEWS was originally created by Adam Eversole as an internal Microsoft Research project. The wrapper was further refined and published by Jared Bienz.

Thank you Adam and Microsoft Research for contributing this effort to the community!

Last edited Apr 29, 2009 at 8:28 PM by jaredbienz, version 10