In September of 2011 we started the Bing Maps v7 Module CodePlex Project. The purpose of this project is to create a single place where developers can find and share useful modules that expand the functionality of the Bing Maps V7 API. Currently, there have been 10 modules submitted to the project. With a number of new modules in development, it’s safe to say that this project is definitely worth looking into. Today I would like to highlight the four newest modules added to this project.

I created this module based on feedback received around the Client Side Clustering Module that I created some time ago. The older client side clustering module uses a grid based algorithm which is fast, but requires re-clustering the data every time the map moved. This allows for 5000+ pushpins to be clustered in a fraction of a second but often results in pushpins jumping around the map as you pan. The point based algorithm prevents pushpins from overlapping and jumping around by only clustering the data when the zoom level changes. Additionally this module keeps track of clustered information for each zoom level, making the algorithm faster the more you use it. This improved UI experience does affect performance and as such this algorithm is recommended for 2000 or less pushpins. Interested in reading more about how this algorithm was created? Check out this blog post.

I created this module due to a number of requests I had received for such a module. This module allows you to easily pass in a URL to a GPX file and have it parsed into an EntityCollection which you can then render on Bing Maps. GPX is a type of XML file that is commonly used by GPS devices. It can be used to describe waypoints, tracks, and routes. Majority of the XML tags for V1 and V1.1 of the GPX schema are supported and all data is stored in a Metadata property, which is added to each entity.

In today’s economy, it is more important than ever that companies optimize and manage their supply chains more efficiently. Given today’s fuel costs, product delivery with high quality of service and short delay times is paramount. Distribution accounts for a large proportion of the overall operational costs of a producer. Hence, effective and efficient management of transportation and distribution of goods are becoming increasingly important.

One of the key problems in this process is the optimization of delivery routes to customers. This problem is known as the “Travelling Salesman Problem” (TSP). RouteSavvy is a web service that helps solve this problem.

RouteSavvy is a simple but powerful tool that can take anywhere from 3 or 4 locations to hundreds of locations. It reorders them based on whether you’d like to visit them in a “round-trip” OR as a one-way trip, with the last stop chosen either by you or by the software (whichever is preferred).

Web developers can now easily integrate the RouteSavvy API into their web application by adding the RouteSavvy Map Module. The map module uses Ajax to call the RouteSavvy web service to optimize a given set of locations.

Here is a screen shot of a set random location optimized for a round trip:

The Bing Maps Ajax v7 control doesn’t include support for adding a Mini-Map. The Mini-Map module adds a small map at the right corner of the parent map that’s collapsible and shows the extents covered by the current map. This module adds a mini map at the top right corner of the screen. Mini-map view helps to give a zoomed out overview of your location. Here is a screen shot of the implemented Mini-Map module: