Chris Pietschmann

husband, father, hacker, entrepreneur, futurist, innovator, autodidact


Virtual Earth: Restrict Map to Specified Viewable Area

This example demonstrates the ability to restrict the viewable area (and impose map boundaries) of a Virtual Earth map to be within a specified distance from the maps original center point (at time of initial load), and restrict to a maximum zoom level. Why might you want to do this? There are times when you may want to restrict your users from possibly getting "lost" when viewing your data on a map. Also, you may want to restrict the user from panning around the globe in an... [More]

Virtual Earth Resources

Here's links to some excellent resources for MS Virtual Earth development: Virtual Earth Concepts by Mike Garza These are some excellent concept examples for building rich user experiences with Virtual Earth. Some of the examples include: Draggable Shapes/Pushpins,  Select plotted Shapes using a Selection Box, and Sidebar listing plotted Shapes that highlights the Shape on the map when hovered over. Today he just posted two new examples of adding Drag Han... [More]

Virtual Earth: Center Map to Shape during OnClick Event

Here's a short, simple example of wiring up Virtual Earth to zoom/pan the map to showing the best fit to center on a specific Shape object that is clicked on by the user. This example works in both 2D and 3D map modes. [code:html] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""> <html> <head> <title></title> <meta http-equiv="Content-Type&qu... [More]

I am now a Virtual Earth MVP!

This is an exciting April fools day for me. I recieved the following email from Microsoft: [MVP] Congratulations! You have received the Microsoft MVP Award Dear Chris Pietschmann, Congratulations! We are pleased to present you with the 2008 Microsoft® MVP Award! The MVP Award is our way to say thank you for promoting the spirit of community and improving people’s lives and the industry’s success every day. We appreciate your extraordinary efforts in Virtual Earth tec... [More]

Bing Maps: Draw a Circle Radius Around a Lat/Long Point

I get requests on how to draw radius' around points on the map. And, up until now, I never needed to do it myself, so I didn't have a code snippet to do it. I did a search and quickly found an example over at viavirtualearth on how to do it in an older version of Virtual Earth. Other than being coded for an older version of Virtual Earth (and incompatible with VE6); it's coded to only handle drawing a radius in Kilometers. So, I decided to upgrade the code example to support VE6, and support bo... [More]

Virtual Earth Plus ASP.NET AJAX Breaks In Safari!

Update 5/17/2008: This issue has since been fixed with the release of the Virtual Earth v6.1 release. There is still a small issue related to the CalendarExtender and Virtual Earth that only occurs in Safari. You can read more about it here.   I do alot of development with ASP.NET AJAX and Virtual Earth, and each of them work fine by themselves in Safari 3 on Windows. However, if you use them both on the same page, it will cause ASP.NET AJAX to break and stop working in Safari. This... [More]

Virtual Earth v2 Being Depricated March 31st

I'm not sure how many apps out there are still on Virtual Earth v2, but Microsoft has announced that Virtual Earth v2 will be depricated on March 31st. So, if your app is still on VE v2, you better get working to upgrade it to VE v6 before v2 is turned off. Also, it's worth noting that there are a few breaking differences between v2 and v6, so it may take a little while to upgrade your app.

Virtual Earth: Calculate Distance of User-Drawn Polyline

A couple days ago I posted some code to "Calculate Distance Between Geocodes in C# and JavaScript", so today I decided to post a small sample program that shows a more "real world" example of puting that code to use. Here's a small program I wrote (in pure HTML and JavaScript) that allows the user to draw a polyline, and it automatically calculates the total distance between the points being plotted. Download the Distance Calculator Program Here A Web.M... [More]

Calculate Distance Between Geocodes in C# and JavaScript

There are times when I need code to calculate the distance between two geocodes (Lat/Long points). I don't need it very often and until now I didn't have a code snippet that I could jus copy and paste. I was searching and found Rob Conery's LINQ and Geocoding post. It's an interesting post and he includes a sample of how to use Lambda expressions in C# 3.0 to calculate the distance between two geocodes in Miles. I decided to copy his code snippet and make sure it works in .NET 2.0 and also conv... [More]

Virtual Earth: Dynamically Load InfoBox Using ASP.NET AJAX

Loading alot of pushpins on the map can slow down your page in two ways: 1) Page load times can be slowed down, and 2) loading pushpins via ajax can be slow. To improve the performance (as in download and database query times) of loading pushpins on the map, you can load the Pushpin Shapes Title and Description on the fly. This allows you to only load the Pushpins Title and Description as it's needed, thus reducing the amount of data you need to send down to the client when initially loadin... [More]

Getting Started with Virtual Earth and ASP.NET AJAX

About a month ago, I wrote an article titled "Virtual Earth: Getting Started - Adding a basic Map to a page". In that article I explained the basics of using Virtual Earth with plain HTML and JavaScript. This time I'm going to explain the basics of using Virtual Earth with ASP.NET AJAX. Virtual Earth and ASP.NET AJAX Step 1: Create a new ASP.NET AJAX Web Site in Visual Studio 2005, or just an ASP.NET Web Site in Visual Studio 2008. Step 2: Open up the Default.aspx page... [More]

Web.Maps.VE - Virtual Earth Without JavaScript, plus .NET 3.5 Support just added!

Yesterday, I released the fourth update release (v1.00.04) of my Web.Maps.VE component. The main feature addition in this update is the addition of .NET 3.5 support. Below is an overview of the main features of Web.Maps.VE. For more information you can go here: Implement Virtual Earth completely from server-side .NET code; No JavaScript Necessary In case you're not familiar, Web.Maps.VE is an ASP.NET AJAX Virtual Earth Mapping Server C... [More]

Virtual Earth 6: Align Mini Map in the Top Right corner of the Map

If you take a look at you'll see the Mini Map is in the Top Right corner of the map. Virtual Earth doesn't have any alignment options built in when showing the Mini Map. It just allows you to position the mini map using x and y offset coordinates relating to the top left corner of the map. This makes it really easy to show the mini map in relation to the top left corner, but what makes this tricky is the dashboard is already there. Here's small example I wrote ... [More]

Virtual Earth: Convert Road Map Style to Shaded Like does

What is the Shaded map Style? If you've used and Virtual Earth, then you've probably noticed that the Road map style in the Virtual Earth API isn't the same as it is on This is because the Road map style on is actually not using the VEMapStyle.Road map style, but instead is using VEMapStyle.Shaded. The VEMapStyle.Shaded map style is the standard Road style with Shaded Contours drawn on the map, and is new to Virtual Earth v6.0. In th... [More]

Virtual Earth: SSL Support

I've implemented Virtual Earth within many web applications, but one thing that I've only had to do a couple times is run the site under SSL. If you have ever done this, then you know that the web browser doesn't like this and complains with the "Do you want to display nonsecure items?" prompt. This can be a pain for users, escpecially when they click "No" and then wonder why the map isn't there. Is SSL Supported? Yes, even though it isn't documented... [More]

Virtual Earth: Getting Started - Adding a basic Map to a page

What is Microsoft Virtual Earth? Virtual Earth allows any developer to implement mapping technology within their web sites and/or applications. The mapping techology behind Virtual Earth is the exact same technology that powers Microsoft's Live Maps website. Getting Started with Virtual Earth Lets add a Map to a page Step 1: Add a DOCTYPE declaration and specify UTF-8 as the pages character set at the top of the page <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans... [More]

Virtual Earth 6 Bug: GetDirections breaks when Start and End Address are the same

When using the new GetDirections method to get multi-point driving directions everything works fine if the Start and End address are different. But it shows unexpected results on the map when plotting a multi-point route that has an End address the same as its Start. Here's some sample code to reproduce this issue: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""> <html>  ... [More]

Virtual Earth 6 Bug: ShowSwitch parameter of LoadMap method no longer works

Update 12/29/2007: This is no longer a bug. It has been fixed since I originally posted this. This is the second bug in Virtual Earth 6 that I've found today. It appears that the showSwitch parameter of the LoadMap method is broken and no longer works. As the documentation states: "A Boolean value that specifies whether to show the map mode switch on the dashboard control. Optional. Default is true (the switch is displayed)." Below is a screenshot showing what is... [More]

Virtual Earth 6 Bug: Zoom buttons in wrong place with multiple maps on the same page

I'm currently working on adding Virtual Earth v6 support to Web.Maps.VE, and I have found a bug in VE6. When there are multiple maps on the same page the images for the zoom in/out buttons of the dashboard are not getting displayed on the correct map. I circled them in red in the screenshot below... This is kinda strange behavor.

Official Release of Simplovation and Web.Maps.VE!

I am proud to announce that I have just officially launched Simplovation and released our first product, Web.Maps.VE! What is Simplovation? Simplovation is my new startup, and is a Micro-ISV. Our focus is on developing first class, resuable components and developer tools that target the .NET Framework. What is Web.Maps.VE? Web.Maps.VE is the latest, much evolved version of my open source control. This is the only ASP.NET 2.0 server control that brings Full AS... [More]

PietschSoft.VE: Is it Dead? What about Ajax and Virtual Earth v5?

Is PietschSoft.VE Dead? I've had a couple people ask me lately if the PietschSoft.VE project is dead since there hasn't been a release in about 2 months. The answer is: No, it isn't dead, I just haven't had alot of time the last few weeks to work on it. Ajax I am actually still working on adding full Ajax support, using UpdatePanels as the enablers. It is turning out to be pretty cool. Virtual Earth v5 Also, since Microsoft recently released Virtual ... [More]

MS Virtual Earth v5.0 Released

A couple days ago, Microsoft released Virtual Earth v5.0. So, what's new? Improved Support for Feature Cusomization Virtual Earth Shapes - Easily customize and modify pusphins, polylines and polygons with the new Virtual Earth Shape class. Customize line colors, widths and transparencies of shapes, as well as add custom icons. Info Boxes - Shapes now have associated info boxes which can be shown and hidden as a response to user actions (e.g. clicking on the shape). The info box ... [More]

PietschSoft.VE mentioned during a Microsoft Webcast on Virtual Earth yesterday

Yesterday Marc Schweigert (Microsoft Developer Evangelist) did a webcast presentation titled "Adding Mapping Capabilities to your Applications with Virtual Earth and ASP.NET AJAX". Near the end of the presentation, he mentioned the PietschSoft.VE project and gave the link to it on CodePlex and the Live Demo site. This mention is located in slide 32 of the Powerpoint deck from the presentation. You'll be able to view the webcast online, after the fact. The presentatio... [More]

PietschSoft.VE got mentioned on DotNetRocks! episode #221

A couple weeks ago, I was listening to DotNetRocks! episode #218 with Dare Obasanjo when they were taling about Windows Live Services. They happened to touch on MS Virtual Earth, so I decided to email them and let them know about my PietschSoft.VE control over at CodePlex. Well, I just listened to episode #221 (I know I'm a week behind), and they mentioned my PietschSoft.VE control on the show! And, they even pronounced my name right. This is way cool! DotNetRocks! e... [More]

PietschSoft.VE v2.0.1 Released

I just posted v2.0.1 of my PietschSoft.VE mapping control on CodePlex. It's been just over a week since I released v2.0.0. This new release adds support for Get Route and Polyline functionality. My initial goal to release v2.0.1 was 3/19, but as it turns out I finished the main functionality for it early. This fits right inline with my goal to put out small releases often. PietschSoft.VE - ASP.NET AJAX Virtual Earth Mapping Server Control Enjoy!