Tracking Virtual Earth Tile Usage

For those of you who are accessing the Virtual Earth tile system directly for integration into a Silverlight, WPF or Flash interface we now have a way for you to legitimize yourselves. First off, we recognize that without a Flash control for the Flex development environment or a Silverlight control we have a bit of a shortcoming for you creating some extremely innovative and scalable sites; however, we've worked to overcome contract and technical hurdles so you can use a Flash, WPF or Silverlight interface by accessing our tile servers directly - meaning, you're pulling the URLs for the tiles and stitching them together yourselves effectively creating your own Silverlight, WPF of Flash map controls. Short of pulling your IPs from the logs we haven't had a good way of showing you usage for your application (nor could we effectively track how many tiles were getting pulled into your application...until now! Now, to be clear, it's still not kosher for users without a valid contract to access our tiles directly so if you have a Silverlight, Flash, WPF or whatever app that your pulling tiles for directly (and you know who you are) you need to get a contract in place or your in violation of the terms of use. For those of you with a contract, here's the information you need to implement tile tracking (and you should get cracking on this asap).

First, you'll want to authenticate using our tokening system. This requires a SOAP request to authenticate (HTTP Digest Authentication) and get a token back in the response which you can the stick in your URL for the Virtual Earth Map Control. There's a MSDN Technical Article on Implementing Customer Identification which you should review. There is even a version for Virtual Earth Supporting Files for Java to Implement Customer Identification.

Now the articles show you how to drop the token into the URL string, but you're hitting the image server URL directly, so you'll need to add the token id as a parameter in the image URL string like this:


Where tokenid is the token returned from Virtual Earth's authentication system.

So, let's say you get back the tokenID, 1234567. Your final image URL string for every image you're requesting would look something like this:

By adding this, you begin to conform to the terms of your contract, allow us to accurately track your usage (which could benefit your contract negotiations!) and allow you to accurately report on just how much traffic your site is REALLY getting and thus justify more budget to develop even cooler apps, Now, go make it happen.


Comments (14)
  1. Hugh@minus34 says:

    Nice timing Chris – this is exactly what our prospect will need since there appears to be no VE mobile device API.

    Would a VE contract cover direct access to the tiles for Mobile devices as well?



  2. jmuffat says:

    The Virtual Earth tile server was the perfect system to demonstrate seamless integratation of location information in gpuViewer (a photo viewer/databaser). I’ve always been worried that I would have to be ready to change to something else, so it is very good news that this type of access gets recognized.

    Who should I contact to sort out the details and make gpuViewer use the tile server in the appropriate manner, all with signed contracts ?

  3. cgreeno says:

    In your Mix presentation you mentioned a supported Virtual Earth Silverlight control. Is this still on the books? If so can I get a ballpark release date? Even just a year would be helpful.

  4. WPF Frameworks Brian Noyes: Prism: Composite WPF Guidance . Great summary of "Prism" from Brian

  5. The MapDotNet Silverlight and WPF controls are in Beta right now, so this is GREAT news.  We’ll have demos out on our website again within a week, demonstrating the type of rich, interactive user experiences these capabilities will deliver.

    Visit our blog at

  6. Chris Pendleton says:

    We’re currently not licensing our mobile tile set.


  7. Chris Pendleton says:

    For licensing information send mail to


  8. Chris Pendleton says:

    I can’t discuss the future of Virtual Earth and Silverlight.


  9. MerickOWA says:

    Does the tile server accept a POST with a form-encoded parameter for token rather than adding it to the url?

    I’ve had problems with caching not working because the url is constantly changing (every time the token changes)

  10. Chris Pendleton says:

    MerickOWA – you can always use the supported method:


  11. mike.geeves says:

    Hi Chris,

    Much thanks for helping avoid a big code rewrite aka nervous breakdown 😀

    Going one step further for tracking what customers are up to, ie who is costing the most! …is a similar method possible for the customer-defined field?

    If something like "&custid=x" is possible that would be great!



  12. vedev01 says:

    Hi Chris,

    I would like to use imagery service from java enabled phones ( e.g nokia) for a commercial application. my question is:

    – is it technically possible?

    – can I buy a license for this kind of application?


  13. Chris Pendleton says:

    Yes and Yes!


  14. t_sch says:


    How about the other way round: What are the license conditions for using the VE map control without VE tiles, maybe with a homebrew tile server or static tiles created by MapCruncher?



Comments are closed.

Skip to main content