Bing Maps V7 AJAX Highlights

The Bing Maps V7 AJAX control was originally released in November 2010 and has since received a number of features and updates. Let’s run through the highlights.

Redesigned from the ground up

The map control itself has gone through a complete redesign from the ground up. The predecessor to this map control (V6.3) was over 250KB in size when compressed whereas the V7 control is only 35KB when compressed. How is that you ask? The answer is modular design. We found that many of the built-in features for V6.3 were only used in handful of applications. As an example, routing is a feature that is most often used in store locator type applications, however, many data visualization applications have no need for routing yet the code required to implement the routing functionality in V6.3 was always downloaded. With the V7 AJAX control, a Directions Module can be loaded on demand, making it so the applications that need this feature actually have to download it. It is also possible to delay the loading of this module until the user actually makes a request to get directions. Most modules can be loaded in using only one or two lines code. As a result of this modular design, the V7 AJAX control loads much faster than its predecessor.

The Bing Maps team has made many great features available to the V7 control using modules.  The new design has inspired the Bing Maps developer community and has given us the Bing Maps V7 Modules CodePlex project. Check it out!

Performance

The V7 map control is by far the fastest AJAX based Bing Maps control. An independent study performed by Microsoft Partner Earthware, found that the V7 AJAX control is capable of rendering 1000 pushpins 9 times faster in IE8 than the V6.3 map control. Needless to say the faster the map is at rendering data the more fluid the user experience. You can read their full performance test report here.

v7 IE8 image

Mobile Support

When the V7 AJAX control was being designed the developers took mobile into consideration and made use of HTML5 wherever possible to ensure a fluid UX regardless of the browser. V7 is supported on many standard web and mobile browsers and as a result, we have seen many developers use the map control to create cross platform mapping applications. Some of these applications are web pages while others are full blown native applications.

The web based applications often detect if the user is accessing the site while using a mobile device. When a mobile device is detected, a different style sheet for the layout is used to make for a better UX on the smaller screen. Keep in mind, the code being used for the mapping application remains the same. This allows one code base to be used not only for several mobile platforms, but for standard browsers as well.

Many developers have created native mapping applications using the V7 AJAX control with a tool called PhoneGap. PhoneGap allows you to take a JavaScript based application and wrap it with a native wrapper to target the various mobile platforms. As a bonus, they also provide several libraries that expose many native features of the mobile device through JavaScript allowing you to create seamless native applications.

Needless to say, using either of these approaches requires a lot less development time when targeting multiple platforms. This means a lot less $$ is spent on development and in many cases, this also allows developers to target more platforms than they may have originally planned making the application available to more users.

Taking cross platform development a step further, one of the Windows 8 Bing Maps API’s is built on top of the V7 AJAX control, thus allowing you to reuse most of your code to create a Windows 8 application.

You can find a full list of supported browsers here.

v7 Nokia

Venue Maps

Documentation

Venue maps were introduced to the Bing Maps V7 control in June of 2011. With this introduction, you have the ability to overlay an interactive floor plan of a venue directly on Bing Maps. The most common venue maps are generally shopping malls, but there are also great venue maps of airports, shopping districts, universities, and amusement parks – just to name a few. Today there are over 2,750 venues in 27 countries available in Bing Maps. As an added bonus – since this module works in all the same browsers as the Bing Maps V7 AJAX control – you can access venue maps from both standard web and mobile browsers.

Centro Commerciale Fiordaliso Italy

v7 Venue Maps

Traffic Module

Documentation

Bing Maps currently has traffic data in 30 countries around the world. By using the Traffic Module, you can easily render real time traffic flow directly on the map. When you are zoomed out, the traffic flow data for major roads will be displayed and as you zoom in, more detailed traffic data becomes available for the smaller roads. You can also pull in traffic incident data using the Bing Maps Traffic REST service. This is great if you want to be able to visualize individual traffic issues on the map. A list of our traffic coverage list can be found here.

v7 Transit

Advance Shape Support

Documentation

You wouldn’t think this, but a feature that is often requested is the support for Polygons with holes. I know, right?  To some this may seem odd, but in reality, there are many cases when this type of shape is needed. Take for example, country boarders. In many cases, these shapes are not so simple. South Africa for example has another country within its exterior boundary called Lesotho where a polygon with a hole is needed.

v7 Polygon

Developing with Bing Maps V7

The full MSDN documentation for the V7 AJAX control can be found here. You can also use the Interactive SDK to see how to implement various features and test them out without having to write any code. If you are currently using the Bing Maps V6.3 control and want to upgrade to the V7 control you can find documentation here.

Remember, if you have any development related questions, the Bing Maps forums are a great place to get help.

-Ricky Brundritt, EMEA Bing Maps Technology Solution Professional