<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
<title>MapQuest Developer Blog</title>
<link>http://devblog.mapquest.com</link>
<description>MapQuest Developer Blog</description>
<image>
<url>http://devblog.mapquest.com/media/feedlogo.gif</url>
<title>MapQuest Developer Blog</title>
<link>http://devblog.mapquest.com</link>
</image>
<language>en-us</language>
<copyright>Copyright 2008 Weblogs, Inc. The contents of this feed are available for non-commercial use only.</copyright>
<generator>Blogsmith http://www.blogsmith.com/</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/MapQuestDevblog" type="application/rss+xml" /><feedburner:emailServiceId>1808954</feedburner:emailServiceId><feedburner:feedburnerHostname>http://www.feedburner.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FMapQuestDevblog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMapQuestDevblog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FMapQuestDevblog" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.rojo.com/add-subscription?resource=http%3A%2F%2Ffeeds.feedburner.com%2FMapQuestDevblog" src="http://blog.rojo.com/RojoWideRed.gif">Subscribe with Rojo</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/MapQuestDevblog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FMapQuestDevblog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FMapQuestDevblog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMapQuestDevblog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item><title>And Now for Something Completely Different</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/375310142/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/08/26/and-now-for-something-completely-different/</guid><comments>http://devblog.mapquest.com/2008/08/26/and-now-for-something-completely-different/#comments</comments><description>&lt;p&gt;So you may be looking at that MapQuest map embedded in your site or one of thousands of other sites who also use the MapQuest Platform and thinking: "Is something different today?"&lt;/p&gt;

&lt;div style="text-align: center"&gt;&lt;img src="http://www.blogsmithmedia.com/devblog.mapquest.com/media/2008/08/mq_logo_tiny.png" class="border1" /&gt;&lt;/div&gt;

&lt;p&gt;Your powers of observation have not failed you! But what could it be that's changed? Tough one, I know.&lt;/p&gt;

&lt;div style="text-align: center"&gt;&lt;img src="http://www.blogsmithmedia.com/devblog.mapquest.com/media/2008/08/mq_logo_small.png" class="border1" /&gt;&lt;/div&gt;

&lt;p&gt;Have you figured it out yet? The answer is perhaps right in front of you or on the top of this page?&lt;/p&gt;

&lt;div style="text-align: center"&gt;&lt;img src="http://www.blogsmithmedia.com/devblog.mapquest.com/media/2008/08/mq_logo_medium.png" class="border1" /&gt;&lt;/div&gt;

&lt;p&gt;Yeah, we totally got a new logo.&lt;/p&gt;

&lt;p&gt;Maps all over the globe are now sporting the new MapQuest logo as part of a rollout which began this morning. There's plenty of details over on our sister &lt;a href="http://blog.mapquest.com/"&gt;blog for MapQuest.com&lt;/a&gt;, as well as announcements on a bunch of new beta features that released with the new branding.&lt;/p&gt;

&lt;p&gt;We hope you like the new look!&lt;/p&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/08/26/and-now-for-something-completely-different/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1295295/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/08/26/and-now-for-something-completely-different/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=9FJzaK"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=9FJzaK" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=by4Nsk"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=by4Nsk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=Upo5Wk"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=Upo5Wk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=8GdvGk"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=8GdvGk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/375310142" height="1" width="1"/&gt;</description><category>announcement</category><category>api</category><category>branding</category><category>logo</category><dc:creator>Josh Babetski</dc:creator><dc:date>2008-08-26T11:30:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/08/26/and-now-for-something-completely-different/</feedburner:origLink></item><item><title>Other Ways to Track MapQuest</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/374443332/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/08/25/other-ways-to-track-mapquest/</guid><comments>http://devblog.mapquest.com/2008/08/25/other-ways-to-track-mapquest/#comments</comments><description>&lt;p&gt;So you're reading this, which means you either follow our &lt;abbr title="Really Simple Syndication"&gt;RSS&lt;/abbr&gt; feed, check in on the blog directly, or happened to land here looking for something (which we hope you found &lt;abbr title="By The Way"&gt;BTW&lt;/abbr&gt;). What you might not know is that we have a few other ways to keep tabs on MapQuest news and happenings for both the Developer Blog you're reading and the &lt;a href="http://blog.mapquest.com"&gt;MapQuest.com Blog&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://devblog.mapquest.com"&gt;MapQuest Developer Blog&lt;/a&gt;: You're reading it now!&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://devblog.mapquest.com/rss.xml"&gt;MapQuest Developer Blog &lt;abbr title="Really Simple Syndication"&gt;RSS&lt;/abbr&gt; Feed&lt;/a&gt;: Read from the comfort of your favorite feed reader&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1808954&amp;amp;loc=en_US"&gt;MapQuest Developer Blog Email Subscription&lt;/a&gt;: Receive emails when we update the blog.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://friendfeed.com/mapquest"&gt;MapQuest on FriendFeed&lt;/a&gt;: FriendFeed is a social aggregation service. Track updates from both MapQuest blogs.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://twitter.com/mapquest"&gt;MapQuest on Twitter&lt;/a&gt;: Twitter is a popular service for telling the world what you're currently doing. Track updates from both MapQuest blogs.&lt;/li&gt;
&lt;/ul&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/08/25/other-ways-to-track-mapquest/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1292212/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/08/25/other-ways-to-track-mapquest/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=RYRJgK"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=RYRJgK" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=TtCfpk"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=TtCfpk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=AgXt3k"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=AgXt3k" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=pYISQk"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=pYISQk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/374443332" height="1" width="1"/&gt;</description><category>email</category><category>feeds</category><category>friendfeed</category><category>rss</category><category>rss feeds</category><category>twitter</category><dc:creator>Josh Babetski</dc:creator><dc:date>2008-08-25T13:29:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/08/25/other-ways-to-track-mapquest/</feedburner:origLink></item><item><title>Got Flash 10?</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/371902062/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/08/22/got-flash-10/</guid><comments>http://devblog.mapquest.com/2008/08/22/got-flash-10/#comments</comments><description>&lt;p&gt;One of the challenges all web developers face is future versions of platforms your application runs on. When a new browser or in this case &lt;a href="http://labs.adobe.com/technologies/flashplayer10/"&gt;version 10 of the Adobe Flash Player&lt;/a&gt; is on the horizon, it's good to run your application against it to see if any changes will need to be made before the new version goes to production and screens across the Web light up with messages of "An upgrade is available."&lt;/p&gt;

&lt;p&gt;We've recently launched an &lt;a href="http://developer.mapquest.com/downloads/unsupported"&gt;unsupported version of our &lt;abbr title="ActionScript 3"&gt;AS3&lt;/abbr&gt; &lt;abbr title="Application Program Interface"&gt;API&lt;/abbr&gt;&lt;/a&gt; for those of you working with &lt;a href="http://labs.adobe.com/technologies/flashplayer10/"&gt;Flash 10&lt;/a&gt;. Some developers have found that our 5.3 release and it's version checking of the Flash Player would cause errors to be thrown.  This unsupported release (5.3.1_U) fixes that.&lt;/p&gt;

&lt;p&gt;For the curious, it's an unsupported build because the Flash 10 player is still in development. This update &lt;em&gt;will&lt;/em&gt; however allow you to run and test your applications on Flash 10 using the MapQuest AS3 API.&lt;/p&gt;

&lt;p&gt;Oh, one other note: 5.3.1_U also was built for &lt;a href="http://www.adobe.com/products/flex/"&gt;Adobe Flex 3&lt;/a&gt; and &lt;a href="http://www.adobe.com/products/air/"&gt;&lt;acronym title="Adobe Integrated Runtime"&gt;AIR&lt;/acronym&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We also have unsupported versions of our C++ API for Mac OSX 10.5 (Intel) and a &lt;a href="http://www.php.net/"&gt;&lt;abbr title="PHP: Hypertext Preprocessor"&gt;PHP&lt;/abbr&gt;&lt;/a&gt; API. You can download them on our &lt;a href="http://developer.mapquest.com/downloads/unsupported"&gt;Unsupported Tools&lt;/a&gt; page.&lt;/p&gt;

&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/08/22/got-flash-10/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1291505/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/08/22/got-flash-10/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=B5jSWK"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=B5jSWK" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=VLxpqk"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=VLxpqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=DltVWk"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=DltVWk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=cTQPRk"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=cTQPRk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/371902062" height="1" width="1"/&gt;</description><category>announcement</category><category>api</category><category>as3</category><category>flash</category><category>flex</category><dc:creator>Josh Babetski</dc:creator><dc:date>2008-08-22T10:00:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/08/22/got-flash-10/</feedburner:origLink></item><item><title>Vote for MapQuest at SXSW!</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/365656292/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/08/15/vote-for-mapquest-at-sxsw/</guid><comments>http://devblog.mapquest.com/2008/08/15/vote-for-mapquest-at-sxsw/#comments</comments><description>&lt;p&gt;We're big fans of the annual &lt;a href="http://www.sxsw.com/interactive/"&gt;&lt;abbr title="South by Southwest"&gt;SXSW&lt;/abbr&gt; Interactive Festival&lt;/a&gt; in &lt;a href="http://www.mapquest.com/maps?city=Austin&amp;amp;state=TX"&gt;Austin, &lt;abbr title="Texas"&gt;TX&lt;/abbr&gt;&lt;/a&gt;. Some of us at MapQuest have been attending for years.&lt;/p&gt; &lt;p&gt;One of the great things about the conference is that it's constantly evolving with the interests of the attendees. The public even contributes to picking the panels that will be available. For SXSW 2009, we have a session up for consideration in the Panel Picker voting:&lt;/p&gt; &lt;dl&gt; 	&lt;dt&gt;"&lt;a href="http://panelpicker.sxsw.com/ideas/view/1076"&gt;Whereify Your Content; Gain an Audience of Millions&lt;/a&gt;"&lt;/dt&gt; 	&lt;dd style="padding:0;margin:0;"&gt;&lt;blockquote cite="http://panelpicker.sxsw.com/ideas/view/1076"&gt;Building an audience for your content is expensive. What's a start-up to do to? In this session, we'll talk about some of the ways making your content location-aware can help you quickly build an audience. We'll also show you how to do it.&lt;/blockquote&gt;&lt;/dd&gt; &lt;/dl&gt; &lt;p&gt;It's a timely topic in an increasingly mobile and context-sensitive world and we know a little about helping people find places. So, here's where you can vote and hear what we have to say on the topic of "Whereification."&lt;/p&gt; &lt;ul&gt; 	&lt;li&gt;Fill out a quick sign-up at the &lt;a href="http://panelpicker.sxsw.com/"&gt;SXSW Panel Picker&lt;/a&gt;. You don't have to be planning to attend SXSW (although you totally should) to vote.&lt;/li&gt; 	&lt;li&gt;Click the "Create an Account to Begin Voting" link&lt;/li&gt; 	&lt;li&gt;Fill out the form and submit&lt;/li&gt; 	&lt;li&gt;Check email for verification link and click.&lt;/li&gt; 	&lt;li&gt;Visit the panel page for: "&lt;a href="http://panelpicker.sxsw.com/ideas/view/1076"&gt;Whereify Your Content; Gain an Audience of Millions&lt;/a&gt;"&lt;/li&gt; 	&lt;li&gt;Vote!&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Voting runs until August 29&lt;sup&gt;th&lt;/sup&gt; and we'll see you in Austin next March!&lt;/p&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/08/15/vote-for-mapquest-at-sxsw/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1284862/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/08/15/vote-for-mapquest-at-sxsw/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=zttr5K"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=zttr5K" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=ZZwl3k"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=ZZwl3k" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=oEY5Bk"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=oEY5Bk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=pMgllk"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=pMgllk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/365656292" height="1" width="1"/&gt;</description><dc:creator>Josh Babetski</dc:creator><dc:date>2008-08-15T09:00:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/08/15/vote-for-mapquest-at-sxsw/</feedburner:origLink></item><item><title>AOL Tour Tracker</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/344856908/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/07/24/aol-tour-tracker/</guid><comments>http://devblog.mapquest.com/2008/07/24/aol-tour-tracker/#comments</comments><description>&lt;p&gt;&lt;a href="http://music.aol.com/"&gt;AOL Music&lt;/a&gt; just launched a great site called &lt;a href="http://www.tourtracker.com/"&gt;Tour Tracker&lt;/a&gt;. It allows you to see when and where your favorite bands are playing and shows coming to a town near you.&lt;/p&gt;

&lt;p&gt;They also just happen to have some really cool interactive maps built on the same MapQuest Platform that you use, specifically the JavaScript &lt;abbr title="application program interface"&gt;API&lt;/abbr&gt;. How about that?&lt;/p&gt;

&lt;p&gt;Go over and check it out while I get some tickets to go see the Foo Fighters.&lt;/p&gt;

&lt;div style="text-align:center"&gt;&lt;img  src="http://www.blogsmithmedia.com/devblog.mapquest.com/media/2008/07/200807aoltourtrackerscreen.jpg" class="border1" /&gt;&lt;/div&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/07/24/aol-tour-tracker/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1266253/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/07/24/aol-tour-tracker/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=umoxiJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=umoxiJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=5HseXj"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=5HseXj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=GCisqj"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=GCisqj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=Gbz6zj"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=Gbz6zj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/344856908" height="1" width="1"/&gt;</description><category>api</category><category>examples</category><category>javascript</category><category>platform</category><dc:creator>Josh Babetski</dc:creator><dc:date>2008-07-24T13:47:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/07/24/aol-tour-tracker/</feedburner:origLink></item><item><title>New Feature: Printable Maps!</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/341550651/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/07/21/new-feature-printable-maps/</guid><comments>http://devblog.mapquest.com/2008/07/21/new-feature-printable-maps/#comments</comments><description>&lt;p&gt;You can now print MapQuest maps!&lt;/p&gt;

&lt;p&gt;"Well duh," you're probably thinking. "I've been printing MapQuest maps and driving directions for years."&lt;/p&gt;

&lt;p&gt;Well of course you have. &lt;a href="http://www.mapquest.com"&gt;MapQuest.com&lt;/a&gt; generates millions-and-millions of maps specifically for printing every day. What I'm talking about here is printing from the applications you're making using the &lt;a href="http://developer.mapquest.com/home/whyjoin"&gt;Free Edition of the MapQuest Platform&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;"I couldn't do that before?"&lt;/p&gt;

&lt;p&gt;That was a little unclear in our old &lt;a href="http://developer.mapquest.com/Home/FreeTermsAndConditions"&gt;Terms and Conditions&lt;/a&gt;. Some observant developers asked about it, and we said "Why not?" We wound up drawing straws to see who had to ask Legal for the revisions. I lost. So I took the ask up the cliffside, knocked on the iron plated door, dropped the paperwork and ran.&lt;/p&gt;

&lt;p&gt;So here's the deal for printing with the Free Edition:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;You can print up to &lt;b&gt;5000 copies&lt;/b&gt; of a map per run/publication&lt;/li&gt;
	&lt;li&gt;The printed map can be up to a maximum of &lt;b&gt;8.5" x 11" inches&lt;/b&gt; printed&lt;/li&gt;
	&lt;li&gt;It has to be a &lt;b&gt;free publication&lt;/b&gt; (flyer, newsletter, etc); you can't use it in a publication you're charging for&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just another example of how we're working with developers and responding to your needs.&lt;/p&gt;

&lt;p&gt;Happy Printing!&lt;/p&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/07/21/new-feature-printable-maps/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1260300/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/07/21/new-feature-printable-maps/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=NoPzBJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=NoPzBJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=pjrgyj"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=pjrgyj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=raCfgj"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=raCfgj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=WyEh0j"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=WyEh0j" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/341550651" height="1" width="1"/&gt;</description><category>announcement</category><category>api</category><category>free edition</category><category>print</category><category>printer-friendly</category><dc:creator>Josh Babetski</dc:creator><dc:date>2008-07-21T09:30:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/07/21/new-feature-printable-maps/</feedburner:origLink></item><item><title>Beta Gone Bye-Bye</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/333119459/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/07/11/beta-gone-bye-bye/</guid><comments>http://devblog.mapquest.com/2008/07/11/beta-gone-bye-bye/#comments</comments><description>&lt;p&gt;With the &lt;a href="http://devblog.mapquest.com/2008/07/01/mapquest-platform-5-3-released/"&gt;5.3 release of the MapQuest Platform&lt;/a&gt;, we've now deactivated the beta versions (until the next version is ready for beta of course). If you were using the 5.3 beta versions, here's some quick tips to keep your application running smoothly:&lt;/p&gt;

Take the following &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; tag for example:&lt;br /&gt;
&lt;code&gt;&amp;lt;script src="http://btilelog.&lt;b&gt;beta&lt;/b&gt;.mapquest.com/tilelog/transaction?
transaction=script&amp;amp;key=&amp;lt;YOUR_KEY_HERE&amp;gt;&amp;amp;itk=true&amp;amp;v=5.3.0&lt;b&gt;_RCx&lt;/b&gt;" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;

&lt;ul&gt;
	&lt;li&gt;You need to change "&lt;code&gt;&amp;amp;v=5.3.0_&lt;b&gt;RCx&lt;/b&gt;&lt;/code&gt;" to "&lt;code&gt;&amp;amp;v=5.3.0&lt;/code&gt;," "x" being the Release Candidate number you were using&lt;/li&gt;
	&lt;li&gt;If you were pointing to the beta servers "&lt;code&gt;http://btilelog.&lt;b&gt;beta&lt;/b&gt;.mapquest.com&lt;/code&gt;," you need to point back to the production servers: "&lt;code&gt;http://btilelog.&lt;b&gt;access&lt;/b&gt;.mapquest.com&lt;/code&gt;"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These simple steps will help keep your development from grinding to a halt -- like in a traffic jam. Since real-time traffic is also one of the new features in 5.3, you can help keep your users from actually &lt;em&gt;winding up&lt;/em&gt; in a real traffic jam.&lt;/p&gt; &lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/07/11/beta-gone-bye-bye/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1252865/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/07/11/beta-gone-bye-bye/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=wshA3J"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=wshA3J" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=tJVsUj"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=tJVsUj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=XZNdxj"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=XZNdxj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=DHhhsj"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=DHhhsj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/333119459" height="1" width="1"/&gt;</description><category>announcement</category><category>api</category><category>beta</category><dc:creator>Josh Babetski</dc:creator><dc:date>2008-07-11T17:11:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/07/11/beta-gone-bye-bye/</feedburner:origLink></item><item><title>MapQuest Platform 5.3 Released</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/324259913/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/07/01/mapquest-platform-5-3-released/</guid><comments>http://devblog.mapquest.com/2008/07/01/mapquest-platform-5-3-released/#comments</comments><description>&lt;p&gt;We are pleased to announce the release of version 5.3 of the MapQuest Platform! This update focuses on enhancements to our 3 client-side &lt;abbr title="application program interfaces"&gt;APIs&lt;/abbr&gt;: JavaScript, &lt;abbr title="ActionScript 3"&gt;AS3&lt;/abbr&gt;, and &lt;abbr title="Flash Under JavaScript and XML"&gt;FUJAX&lt;/abbr&gt;.&lt;/p&gt;

&lt;p&gt;Some of the big changes include:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Collections: Support for multiple and remote collections (&lt;abbr title="keyhole markup language"&gt;KML&lt;/abbr&gt; and Geo&lt;abbr title="really simple syndication"&gt;RSS&lt;/abbr&gt;); easier handling of shape collections&lt;/li&gt;
	&lt;li&gt;Custom Tile Layer support&lt;/li&gt;
	&lt;li&gt;Add real-time traffic to your map&lt;/li&gt;
	&lt;li&gt;Globe view enhancements&lt;/li&gt;
	&lt;li&gt;All 3rd party JavaScript libraries removed (decreases JS footprint)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the server-side APIs, .NET works with 2.0 and 3.5 on 32 and 64-bit; C++ now has been upgraded to support Visual Studio 2008 and 32 and 64-bit libraries are available.&lt;/p&gt;

&lt;p&gt;Here's the full list of release notes:&lt;/p&gt;&lt;h3&gt;New Features: General — All Languages&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;b&gt;ShapeCollections&lt;/b&gt; To make it easier to handle multiple shape collections on the map, &lt;code&gt;MQA.ShapeCollection&lt;/code&gt; and 
	&lt;code&gt;MQW.ShapeCollection&lt;/code&gt; (FUJAX) replaces both &lt;code&gt;PoiCollection&lt;/code&gt; and &lt;code&gt;OverlayCollection&lt;/code&gt;. 
	&lt;abbr title="points of interest"&gt;POIs&lt;/abbr&gt; and overlays now go into the same collection. Adding, removing, replacing, and appending include new methods.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;Custom Tile Layers&lt;/b&gt; Custom tile layers can now be added to maps.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;Multiple Collections&lt;/b&gt; Multiple shape collections can now be added to the map. A collection can include POIs and Overlays. Once a collection is attached to the map, adding shapes to and/or removing shapes from the collection will be automatically reflected on the map. Decluttering can also be done by collection.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;Remote Collections&lt;/b&gt; &lt;abbr title="keyhole markup language"&gt;KML&lt;/abbr&gt; and Geo&lt;abbr title="really simple syndication"&gt;RSS&lt;/abbr&gt; support has been built into the Platform. When creating a RemoteCollection, all you need to do is tell it the location of the feed and its format, and the RemoteCollection will be displayed on the map.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;Minimum and Maximum Zoom Levels on POIs&lt;/b&gt; Minimum and maximum zoom levels can be set on any POI. The POI would then be visible on the map only between the set zoom levels.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;Retrieving an item by key&lt;/b&gt; A shape (POI or overlay) can now be retrieved from the map or any collection by its key.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;Reference to parent collection&lt;/b&gt; A reference to the shape's (POI or overlay) parent collection can be returned.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;JavaScript and AS3 (ActionScript[TM] 3) Only&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;b&gt;Traffic Flow, Incidents, and Market Data&lt;/b&gt; Traffic information can now be displayed on the map in the form of market data, incident data (construction, incidents, events), and a traffic flow overlay.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;AS3 and &lt;abbr title="Flash Under JavaScript and XML"&gt;FUJAX&lt;/abbr&gt; Only&lt;/h3&gt; 
&lt;ul&gt;
	&lt;li&gt;&lt;b&gt;Globe View&lt;/b&gt; Globe view has been upgraded to include the following enhancements:
		&lt;ul&gt;
			&lt;li&gt;Spins on all axis&lt;/li&gt;
			&lt;li&gt;Setting the number of triangles to adjust for performance&lt;/li&gt;
			&lt;li&gt;Smooth zoom animations&lt;/li&gt;
			&lt;li&gt;Overlays &amp;amp; route highlights&lt;/li&gt;
			&lt;li&gt;Map rotation setting&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;JavaScript and &lt;abbr title="Flash Under JavaScript and XML"&gt;FUJAX&lt;/abbr&gt; Only&lt;/h3&gt; 
&lt;ul&gt;
	&lt;li&gt;&lt;b&gt;3rd Party Libraries&lt;/b&gt; All 3rd party libraries have been removed from the API (Prototype and Dojo)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;JavaScript&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;b&gt;MQA Namespacing&lt;/b&gt; 
	The Tilemap toolkit portion of the API has been namespaced to MQA and all MQ leading characters have been removed. For example, it would now be &lt;code&gt;MQA.Tilemap&lt;/code&gt; instead of &lt;code&gt;MQTilemap&lt;/code&gt;.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;MQMapIcon&lt;/b&gt; The &lt;code&gt;MQMapIcon&lt;/code&gt; is now &lt;code&gt;MQA.Icon&lt;/code&gt; and is purely an interface, taking the image URL and the setup values in 
	the constructor. For example: &lt;code&gt;myIcon = new MQA.Icon(imageURL, width, height, offsetX, offsetY);&lt;/code&gt;&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;POIs &amp;amp; Overlays Overhaul&lt;/b&gt; These are both now extended off of the same base object and their getters &amp;amp; setters have changed. Examples:&lt;br /&gt;
	&lt;code&gt;myPoi.setValue(propertyNameAsString, valueObject);&lt;/code&gt;&lt;br /&gt;
	&lt;code&gt;returnedValue = myPoi.getValue(NameAsString);&lt;/code&gt;
		&lt;ul&gt;
			&lt;li&gt;A &lt;code&gt;.setValues();&lt;/code&gt; method exists that takes literal notation to set as many properties at once as you want. Refer to the documentation for a complete list of property names and examples.&lt;/li&gt;
			&lt;li&gt;Existing getters and setters will still function, but are deprecated. Effort should be made to convert these to the new methods.&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;Drop Shadow&lt;/b&gt; A visual drop-shadow graphic has been added to the map and can be turned on by calling &lt;code&gt;map.setMapShadowState(Boolean)&lt;/code&gt;. The shadow is off by default.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;abbr title="Flash Under JavaScript and XML"&gt;FUJAX&lt;/abbr&gt;&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;b&gt;MQW Namespacing&lt;/b&gt; The FUJAX Tilemap toolkit portion of the API has been namespaced to MQW and all MQ leading characters have been removed. For example, it would now be: &lt;code&gt;MQW.Tilemap&lt;/code&gt; instead of &lt;code&gt;MQTilemap&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Supported Environments&lt;/h3&gt;
&lt;h4&gt;JavaScript&lt;/h4&gt;
&lt;ul&gt;
	&lt;li&gt;
		Windows
		&lt;ul&gt;
			&lt;li&gt;Internet Explorer 6.0 and above&lt;/li&gt;
			&lt;li&gt;Mozilla Firefox 2.0 and above&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;
		Macintosh
		&lt;ul&gt;
			&lt;li&gt;Firefox 2.0 and above&lt;/li&gt;
			&lt;li&gt;Safari 3.0 and above&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Adobe(R) ActionScript[TM]&lt;/h4&gt;
&lt;ul&gt;
	&lt;li&gt;Flash player: version 9,0,115 or greater&lt;/li&gt;
	&lt;li&gt;AS3 SWCs: all environments&lt;/li&gt;
	&lt;li&gt;Flex2 Components: Adobe(R) Flex[TM] Builder[TM] 2&lt;/li&gt;
	&lt;li&gt;CS3 Components: Adobe(R) Creative Suite(R) 3 (CS3) Flash&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Updates&lt;/h3&gt; 
&lt;ul&gt;
	&lt;li&gt;
		.NET
		&lt;ul&gt;
			&lt;li&gt;The library has been renamed to &lt;code&gt;mapquest20.dll&lt;/code&gt; to reflect that this is for .NET 2.0 and above only. It has also been tested with the 2.0 and 3.5 frameworks and in both 32-bit and 64-bit environments.&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;
		C++
		&lt;ul&gt;
			&lt;li&gt;Windows support has been upgraded to Visual Studio 2008&lt;/li&gt;
			&lt;li&gt;Both 32-bit and 64-bit versions of the libraries now exist&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/07/01/mapquest-platform-5-3-released/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1236644/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/07/01/mapquest-platform-5-3-released/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=ZABZxJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=ZABZxJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=2592Zj"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=2592Zj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=7BMivj"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=7BMivj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=7wEW5j"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=7wEW5j" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/324259913" height="1" width="1"/&gt;</description><category>announcement</category><category>api</category><category>as3</category><category>collection</category><category>cpp</category><category>dotnet</category><category>fujax</category><category>globeview</category><category>javascript</category><category>overlays</category><category>platform</category><category>release</category><category>traffic</category><dc:creator>Josh Babetski</dc:creator><dc:date>2008-07-01T15:00:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/07/01/mapquest-platform-5-3-released/</feedburner:origLink></item><item><title>Creating a custom ASP.NET control for MapQuest</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/318999074/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/06/24/creating-a-custom-asp-net-control-for-mapquest/</guid><comments>http://devblog.mapquest.com/2008/06/24/creating-a-custom-asp-net-control-for-mapquest/#comments</comments><description>&lt;p&gt;               In my last post we saw that using the &lt;a href="http://devblog.mapquest.com/2008/06/05/using-mapquest-5-3-in-an-asp-net-application/"&gt;MapQuest NET API version 5.3 in an ASP.NET&lt;/a&gt;               web application was not all that much harder than using it in a winforms               application. Now in order to easily reuse some of the code it would be               nice to create an ASP.NET custom control which displays a map just based on an               origin and a destination.&lt;/p&gt;                    &lt;p&gt;
                            So what to do?&lt;/p&gt;
                    &lt;ol&gt;
                        &lt;li&gt;We want to put the control in a class library, so we add an item of type 
                            'ASP.NET Server control named 'RouteMapControl'. This will create a class which 
                            inherits from WebControl.&lt;/li&gt;
                        &lt;li&gt;Next we add an Origin and Destination propert of type 'GeoAddress' (from the 
                            MQClientInterface namespace).&lt;/li&gt;
                        &lt;li&gt;Lastly we override the 'protected override void RenderContents( HtmlTextWriter 
                            output )' method and have it use the Origin and Address to create a route and 
                            use the route to create a map.&lt;/li&gt;
                    &lt;/ol&gt;
                    &lt;p&gt;
                        This is what the code for the class looks like:&lt;/p&gt;

                            &lt;code&gt;&lt;pre&gt;
using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MQClientInterface;
using DevelopOne.MapQuest.Proxies;
using DevelopOne.MapQuest.Extensions;

namespace DevelopOne.MapQuest.Web.Controls
{
    [DefaultProperty( "Text" )]
    [ToolboxData( "&lt;{0}:RouteMapControl runat=server&gt;&lt;/{0}:RouteMapControl&gt;" )]
    public class RouteMapControl : WebControl
    {
        [Bindable( true )]
        [Category( "MapQuest" )]
        [DefaultValue( "" )]
        [Localizable( false )]
        public GeoAddress Origin
        {
            get
            {
                GeoAddress o = new GeoAddress();
                o.Init();
                o.LatLng.Latitude = (double) ViewState["Origin_Latitude"];
                o.LatLng.Longitude = (double) ViewState["Origin_Longitude"];
                return o;
            }

            set
            {
                ViewState["Origin_Longitude"] = value.LatLng.Longitude;
                ViewState["Origin_Latitude"] = value.LatLng.Latitude;
            }
        }

        [Bindable( true )]
        [Category( "MapQuest" )]
        [DefaultValue( "" )]
        [Localizable( false )]
        public GeoAddress Destination
        {
            get
            {
                GeoAddress o = new GeoAddress();
                o.Init();
                o.LatLng.Latitude = (double) ViewState["Destination_Latitude"];
                o.LatLng.Longitude = (double) ViewState["Destination_Longitude"];
                return o;
            }

            set
            {
                ViewState["Destination_Longitude"] = value.LatLng.Longitude;
                ViewState["Destination_Latitude"] = value.LatLng.Latitude;
            }
        }

        protected override void RenderContents( HtmlTextWriter output )
        {
            if ( this.Origin == null || this.Destination == null )
            {
                return;
            }
            else
            {
                if ( this.Width.IsEmpty )
                    this.Width = new Unit( 800 );

                if ( this.Height.IsEmpty )
                    this.Height = new Unit( 600 );

                RouteResults route;
                using ( RouteServerProxy proxy = new RouteServerProxy() )
                {
                    route = proxy.CreateRoute( this.Origin, this.Destination );
                }
                using ( MapServerProxy proxy = new MapServerProxy() )
                {
                    string url = proxy.GetMapUrl( route.ShapePoints.ToLine(), (int)this.Width.Value, (int)this.Height.Value, true).ToString();
                    url = HttpUtility.HtmlEncode( url );
                    string html = "&amp;lt;img src=\"" + url + "\"/&gt;&amp;lt;br/&gt;Distance: " + Math.Round(route.Distance, 2).ToString() + " miles.";
                    output.Write( html );
 
                }
            }
        }
    }
}
&lt;/pre&gt;
                                &lt;/code&gt; &lt;p&gt;
                            Notice in the RenderContents method that:&lt;/p&gt;
                    &lt;ol&gt;
                        &lt;li&gt;We're creating an HTML image tag, but also some text to display the distance of 
                            the route.&lt;/li&gt;
                        &lt;li&gt;The proxy.GetMapUrl has a boolean parameter as the fourth parameter. I 
                            discovered that for longer routes the amount of information in the Url becomes 
                            too much, making the Url too long and it won't load. Using the true parameter 
                            makes the proxy use a serverside session. Now the Url just contains a reference 
                            to the session and stays much shorter.
                            
                           
                            The code needed to create a session is straightforward, use the Exec object in 
                            the MapQuest library.: &lt;code&gt;&lt;pre&gt;string sessionId = Exec.CreateSessionEx( session );
url = Exec.GetMapFromSessionURL( sessionId, new MQClientInterface.DisplayState() );&lt;/pre&gt;&lt;/code&gt;
                            
                            &lt;/li&gt;
                    &lt;/ol&gt;
                    &lt;p&gt;
                            By adding a reference to the class library Visual Studio 2008 will detect the 
                            control and make it available in the toolbar when you're editing an ASP.NET 
                            page. Just drag and drop the control on you form and your ready to go.&lt;/p&gt;
                    &lt;p&gt;
                            I like my controls to have meaning full tags so I add a control reference in the 
                            web.config:&lt;/p&gt;
&lt;code&gt;&lt;pre&gt;

&amp;lt;pages&gt;
   &amp;lt;controls&gt;
        &amp;lt;add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/&gt;
        &amp;lt;add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/&gt;
        &lt;b&gt;&amp;lt;add tagPrefix="mq" namespace="DevelopOne.MapQuest.Web.Controls" assembly="DevelopOne.MapQuest"/&gt;&lt;/b&gt;
  &amp;lt;/controls&gt;
&amp;lt;/pages&gt;


&lt;/pre&gt;&lt;/code&gt;
                    &lt;p&gt;
                            The markup in the page now looks like this:&lt;/p&gt;
&lt;code&gt;&lt;pre&gt;
&amp;lt;mq:RouteMapControl ID="RouteMapControl1" runat="server" /&gt;
&lt;/pre&gt;&lt;/code&gt;
                &lt;p&gt;
                            If you choose to skip the web.config step you'll see the tag as 
                            'cc1:RouteMapControl'.&lt;/p&gt;
                    &lt;p&gt;
                            Happy coding!&lt;/p&gt;
                        &lt;p&gt;
                            - Mark Blomsma&lt;/p&gt;
    &lt;p&gt;
        Download the code
        &lt;a href="http://www.develop-one.net/home/downloads/AOL/MapQuest/Post4/MapQuest-b4.zip"&gt;
        here&lt;/a&gt;.&lt;/p&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/06/24/creating-a-custom-asp-net-control-for-mapquest/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1233981/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/06/24/creating-a-custom-asp-net-control-for-mapquest/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=L5RGZI"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=L5RGZI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=KKPAEi"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=KKPAEi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=uD8d9i"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=uD8d9i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=fu5Jri"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=fu5Jri" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/318999074" height="1" width="1"/&gt;</description><category>api</category><category>asp</category><category>dotnet</category><category>how-to</category><dc:creator>Mark Blomsma</dc:creator><dc:date>2008-06-24T12:12:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/06/24/creating-a-custom-asp-net-control-for-mapquest/</feedburner:origLink></item><item><title>The AIM Map Phone</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/315458846/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/06/19/the-aim-map-phone/</guid><comments>http://devblog.mapquest.com/2008/06/19/the-aim-map-phone/#comments</comments><description>&lt;h4&gt;Where Open Voice meets Geocoding&lt;/h4&gt;
&lt;p&gt;Geocoding is hot. "Geocoding is the process of assigning geographic identifiers
  (e.g., codes or geographic coordinates expressed as latitude-longitude) to
  map features and other data records, such as street addresses. You can also
  geocode media, for example where a picture was taken, IP addresses, and anything
  that has a geographic component. With geographic coordinates the features can
  be mapped and entered into Geographic Information Systems" - &lt;a href="http://en.wikipedia.org/wiki/Geotagging"&gt;wikipedia&lt;/a&gt;.
  Using the MapQuest API we can geocode any address in the world. In my &lt;a href="http://dev.aol.com/article/2008/building-a-dotnet-voip-application-using-aim-call-out"&gt;recent
  article&lt;/a&gt; on Open Voice I showed how to use C# and .NET to build a Voice
  over IP phone. I've also been exploring the possibilities of the MapQuest .NET
  API on my &lt;a href="http://dev.aol.com/blog/22109"&gt;blog&lt;/a&gt;. Now wouldn't it
  be great if those two worlds came together to build a phone that displays the
  location of the person you're calling? I call it the AIM Map Phone. And it
  looks like this: &lt;/p&gt;

&lt;p style="text-align:center"&gt;&lt;img src="http://dev.aol.com/images/article_images/aimmap1.jpg" width="431" height="431" class="border1" /&gt;&lt;/p&gt;
&lt;p&gt;So what are the technologies used to build this phone? Well
  I found a commercial offering by &lt;a href="http://www.conaito.com"&gt;Conaito&lt;/a&gt; which
  combines Voice over IP with and SIP programming stack: the &lt;a href="http://www.conaito.com/voip_sip_sdk_ueberblick.asp"&gt;VoIP
    SIP SDK&lt;/a&gt;. The SDK offers excellent .NET examples and implementing a basic
  VoIP phone took about an hour, not bad right? Having the phone working, the
  next step is to geocode the phone number. This turned out to be a two step
  process. &lt;a href="http://www.serviceobjects.com"&gt;ServiceObjects&lt;/a&gt; is a company
  which offers an XML web service for translating a phone number into an address.
  There are two separate services,  &lt;a href="http://www.serviceobjects.com/products/dots_geophone.asp"&gt;DOTS
    GeoPhone&lt;/a&gt; which is for landlines and &lt;a href="http://www.serviceobjects.com/products/dots_geophone_wireless.asp"&gt;DOTS
      GeoPhone Wireless&lt;/a&gt; for wireless phones. The translated address can be
      used to find the geographical location using the &lt;a href="http://developer.mapquest.com/"&gt;MapQuest
    Geocode Server&lt;/a&gt;. The resulting coordinates can be used by the MapQuest
    Static Map Server to create a map of the location.&lt;br&gt;
  Let's look at some of the code involved.&lt;/p&gt;
&lt;h4&gt;Making the call&lt;/h4&gt;
&lt;p&gt;In order to place a call using the &lt;a href="http://call-out.aim.com/"&gt;AIM
    Call Out&lt;/a&gt; service we need to use the &lt;a href="http://dev.aol.com/api/aimcall"&gt;Open
    Voice API&lt;/a&gt;. The Open Voice API consists of an infrastructure which supports
    a number of &lt;a href="http://dev.aol.com/api/aimcall"&gt;open standards&lt;/a&gt;,
    allowing any standards compliant application or SDK to make use of the infrastructure.
    The Conaito VoIP SDK supports these standards and works like a charm with
    AIM Call Out. The client API is accessible from C# / .NET by dragging an
    ActiveX control onto the form. Calls are made by programming against this
    ActiveX control. In the AIM Map Phone the 'Dial' button works as a toggle
    and uses the following code:&lt;/p&gt;
&lt;pre&gt;
  private bool _calling = false;
  private int _callId = -1;
  private void btnDial_Click( object sender, EventArgs e )
    {
    if ( _calling == true )
    {
    // hang up
    HangUp();
    }
    else
    {
    // make call
    DialNumber( txtNumber.Text );
        // ... update map ...
    }
    }
  private void DialNumber( string phoneNumber )
    {
    try
    {
    // check if previous call closed down correctly
    if ( _callId != -1 )
    {
    HangUp();
    }
    // First of all transport must be configured.
    this.axUserAgent.AddTransport( conaito.Transport.UDP, 5060 );
         // Find available RTP (media) port
    int port = this.axUserAgent.FindPort( 4000, 8000, 2, conaito.Transport.UDP
      );
         // Startup User Agent
    this.axUserAgent.Startup( port, 1, 
    String.Empty, 
    PhoneSetting.Default.STUNServer );
         // AIM account is used for SIP authentication
    string aimAccount = PhoneSetting.Default.AIMAccount;
    // name is used for registration
    string name = aimAccount.Substring( 0, aimAccount.IndexOf( "@" )
    );
        // REGISTER is not support by SIP.AOL.COM
    // but is required to initialize the axUserAgent
    this.axUserAgent.Registrator.AuthenticationId = aimAccount;
    this.axUserAgent.Registrator.Register(
    PhoneSetting.Default.SIPServer,
    name,
    PhoneSetting.Default.AIMDevicePassword,
    name );
        // Setup eventhandler for cleanup when call terminates
    this.axUserAgent.OnTerminated += new Axconaito._IUserAgentEvents_OnTerminatedEventHandler(
      axUserAgent_OnTerminated );
        // Make the call (asynchronous)
    // Number needs to be post fixed by "@sip.aol.com"
    _callId = this.axUserAgent.CallMaker.Invite( 
    phoneNumber + "@" + PhoneSetting.Default.SIPServer );
       // Update UI
    _calling = true;
    this.btnDial.Text = "Hang up";
    }
    catch ( COMException exception )
    {
    ShowError( this.axUserAgent.LastError, exception.Message );
    }
    catch ( Exception exception )
    {
    ShowError( exception.Message, "General Exception" );
    }
    }
    private void HangUp()
    {
    // Hang up
    this.axUserAgent.CallMaker.Hangup( _callId );
    // Shutdown User Agent
    this.axUserAgent.Shutdown();
    _callId = -1;
    // Update UI
    _calling = false;
    this.btnDial.Text = "Dial";
    }
void axUserAgent_OnTerminated( object sender, Axconaito._IUserAgentEvents_OnTerminatedEvent
    e )
    {
    HangUp();
    }
    &lt;/pre&gt;
&lt;p&gt;The DialNumber methods follows the basic steps needed to start a call:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Add a transport mechanism, in this case UDP.&lt;/li&gt;
  &lt;li&gt;Prepare for RTP transport&lt;/li&gt;
  &lt;ol&gt;
    &lt;li&gt;Find a port&lt;/li&gt;
    &lt;li&gt;Startup the RTP host&lt;br&gt;
        &lt;br&gt;
      Note that the SDK allows for all sorts of custom tweaking of codecs, volume
      and input/output devices. This sample is using the default settings for
      all of those.&lt;br&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
  &lt;li&gt;Setup an eventhandler for when the call terminates.&lt;/li&gt;
  &lt;li&gt;Send a SIP INVITE message to call the actual number. &lt;br&gt;
      &lt;br&gt;
    Note that the format of the phonenumber needs to be  &amp;lt;phonenumber&amp;gt;@sip.aol.com.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As you can see the sample retrieves configuration settings from the app.config
file. These can be set using the Phone Settings configuration form:&lt;/p&gt;
&lt;p style="text-align: center"&gt;&lt;img src="http://dev.aol.com/images/article_images/aimmap2.jpg" width="228" height="127" class="border1" /&gt;&lt;br&gt;
&lt;/p&gt;
&lt;h4&gt;Geocode the number&lt;/h4&gt;
&lt;p&gt;Using the ServiceObjects XML web service the phone number can be translated
  into an address. There are two API's one for landlines and one for wireless
  phones. It must be said that the service for landlines is excellent, but the
  one for wireless phone does not seem to know all the numbers, especially for
  where I live, numbers in Maine. &lt;/p&gt;
&lt;pre&gt;
  private bool _calling = false;
  private int _callId = -1;
private void btnDial_Click( object sender, EventArgs e )
    {
    if ( _calling == true )
    {
    // hang up
    HangUp();
    }
    else
    {
    // make call
    DialNumber( txtNumber.Text );
    GeoAddress address = GetAddress( txtNumber.Text );
    if ( address == null )
    {
    // unable to resolve phone number
    MessageBox.Show( this, 
    "Phone number could not be translated to a geographical location.",
    "Information", MessageBoxButtons.OK, MessageBoxIcon.Information );
    }
    else
    {
    UpdateMap( address );
    }
    }
    }
private GeoAddress GetAddress( string phoneNumber )
    {
    string americanPhoneNumber = phoneNumber.Replace( "+1", "" );
    PhoneInfo info;
    ServiceObjects.DOTSGeoPhone service = new DOTSGeoPhone();
    info = service.GetPhoneInfo( americanPhoneNumber, ServiceObjectSetting.Default.DOTSGeoPhoneLicenseKey
    );
    if ( info != null &amp;amp;&amp;amp;
    info.Contacts != null &amp;amp;&amp;amp;
    info.Contacts.Length &amp;gt; 0 )
    {
    Address address = new Address()
    {
    City = info.Contacts[0].City,
    Country = "US",
    PostalCode = info.Contacts[0].Zip,
    State = info.Contacts[0].State,
    Street = info.Contacts[0].Address
    };
        GeocodeServerProxy proxy = new GeocodeServerProxy();
    List&amp;lt;GeoAddress&amp;gt; result = proxy.Geocode( address );
    if ( result != null &amp;amp;&amp;amp; result.Count &amp;gt; 0 )
    {
    return result[0];
    }
    return null;
    }
    else
    {
    return GetWirelessAddress( americanPhoneNumber );
    }
    }
&lt;/pre&gt;
&lt;p&gt;From a .NET perspective the service works really, really simple. Just add
  a web reference from your project (don't use VS 2008 Service Reference) to
  the DOTS GeoPhone service ( &lt;a href="http://trial.serviceobjects.com/gp/GeoPhone.asmx?WSDL"&gt;http://trial.serviceobjects.com/gp/GeoPhone.asmx?WSDL&lt;/a&gt; ),
  use the generated proxy and call the GetPhoneInfo service. Note: You will need
to get a license key.&lt;/p&gt;
&lt;p&gt;The PhoneInfo object that is returned contains zero, one
  or more contacts. I the sample I take the first and use that to create a MapQuest
  .NET API Address object. This is passed to the GeocodeServerProxy, a custom
  proxy class I created (read &lt;a href="http://devblog.mapquest.com/2008/05/13/getting-started-with-the-mapquest-api-5-3-and-c/"&gt;this
    blog post&lt;/a&gt; for
  more details). This results in the GeoAddress of the phone number. Should the
  phone number not lead to a contact, then I try and use a similar method using
the DOTS GeoPhone Wireless service.&lt;/p&gt;
&lt;p&gt;The GetAddress method uses the app.config
  to retrieve the license key for the ServiceObjects service. These can be
set with the ServiceObjects Settings screen:&lt;/p&gt;
&lt;p style="text-align: center"&gt;&lt;img src="http://dev.aol.com/images/article_images/aimmap3.jpg" width="351" height="94" class="border1" /&gt;&lt;br&gt;
&lt;/p&gt;
&lt;h4&gt;Display the location&lt;/h4&gt;
&lt;p&gt;The AIM Map Phone uses a custom Winforms control which will load and display
  a map based on the GeoAddress. The code is based on the MapQuest .NET 5.3 API,
  see &lt;a href="http://devblog.mapquest.com/2008/05/27/building-a-reusable-windows-control-with-mapquest-api-5-3-and-c/"&gt;this blog post&lt;/a&gt; on
  more information on building such a control. You will need a &lt;a href="http://developer.mapquest.com/Home/WhyJoin"&gt;MapQuest
  account&lt;/a&gt; in order to use the service. The information can be set in the
MapQuest Settings screen:&lt;/p&gt;
&lt;p style="text-align:center"&gt;&lt;img src="http://dev.aol.com/images/article_images/aimmap4.jpg" width="261" height="204" class="border1" /&gt;&lt;br&gt;
&lt;/p&gt;
&lt;h4&gt;The code&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://dev.aol.com/gallery_files/aim-map-phone.zip"&gt;Download the code for the sample here&lt;/a&gt;.&lt;br&gt;
  In order to compile and run the code you will need to install VoIP SIP SDK
    v2.6 from &lt;a href="http://www.conaito.com/voip_sip_sdk_ueberblick.asp"&gt;Conaito&lt;/a&gt;.
    You will also need a (trial) account DOTS GeoPhone * DOTS GeoPhone Wireless
from &lt;a href="http://www.serviceobjects.com/"&gt;ServiceObjects&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Happy coding!&lt;br&gt;
&lt;/p&gt;

&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/06/19/the-aim-map-phone/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1224811/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/06/19/the-aim-map-phone/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=Y42ovI"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=Y42ovI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=zXHtMi"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=zXHtMi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=LlycVi"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=LlycVi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=uSEvji"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=uSEvji" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/315458846" height="1" width="1"/&gt;</description><category>api</category><category>csharp</category><category>dotnet</category><category>how-to</category><category>phone</category><category>voip</category><category>xml</category><dc:creator>Mark Blomsma</dc:creator><dc:date>2008-06-19T10:24:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/06/19/the-aim-map-phone/</feedburner:origLink></item><item><title>5.3rc5 Release for JavaScript and FUJAX APIs</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/313828192/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/06/17/5-3rc5-release-for-javascript-and-fujax-apis/</guid><comments>http://devblog.mapquest.com/2008/06/17/5-3rc5-release-for-javascript-and-fujax-apis/#comments</comments><description>&lt;p&gt;As we get closer to the final release of version 5.3 of the MapQuest Platform, we've just added &lt;a href="http://developer.mapquest.com/Beta#RC5"&gt;Release Candidate 5 of our JavaScript and &lt;abbr title="Flash Under JavaScript and XML"&gt;FUJAX&lt;/abbr&gt; &lt;abbr title="application program interface"&gt;API&lt;/abbr&gt;s&lt;/a&gt; to the Beta page.&lt;/p&gt;

&lt;p&gt;The highlight in this release is the ability to define specific packages to be included in the code. With all of the new features we've been adding to the Platform, we recognized the need to optimize the size of your download with only the code necessary for your application.&lt;/p&gt;

&lt;p&gt;From the RC5 notes:&lt;/p&gt;

&lt;blockquote&gt;
	&lt;p&gt;If you want your application to have a traffic control, you can specify to include this package via the '&lt;code&gt;&amp;amp;ipkg=controls1,traffic&lt;/code&gt;' URL name/value pair. However, if your application does not need the traffic control, simply use '&lt;code&gt;&amp;amp;ipkg=controls1&lt;/code&gt;' and you'll save about &lt;b&gt;12k&lt;/b&gt; of download. This concept will be used going forward in order to optimize download sizes/speed.&lt;/p&gt;
	&lt;p&gt;NOTE: We have separated out the map controls as a modular package - if you are using our default controls (Zoom Control, View Control, etc), you will want '&lt;code&gt;&amp;amp;ipkg=controls1&lt;/code&gt;' on the string. If you are using fully customized map controls, you can now eliminate ours from the script download.&lt;/p&gt;

&lt;h5&gt;The "ipkg" parameter&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;controls1&lt;/code&gt; - will bring down all 4 controls (largezoom, zoom, pan, and view).&lt;br /&gt;
&lt;code&gt;traffic&lt;/code&gt; - will bring down the traffic package. For example:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;code&gt;&amp;amp;ipkg=controls1&lt;/code&gt; - will bring down just the controls package&lt;/li&gt;
	&lt;li&gt;&lt;code&gt;&amp;amp;ipkg=traffic&lt;/code&gt; - will bring down just the traffic package&lt;/li&gt;
	&lt;li&gt;&lt;code&gt;&amp;amp;ipkg=controls1,traffic&lt;/code&gt; - will bring down both the controls and traffic packages&lt;/li&gt;
	&lt;li&gt;&lt;code&gt;&amp;amp;ipkg=controls1,traffic,package1,etc.&lt;/code&gt; - will bring down all packages listed by commas&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also a reminder: If your a &lt;a href="http://developer.mapquest.com/Home/WhyJoin"&gt;Free Edition&lt;/a&gt; developer, you will also need to sign-up for a &lt;a href="http://developer.mapquest.com/Home/Register?_devAPISignup_WAR_devAPISignup_action=signup&amp;amp;_devAPISignup_WAR_devAPISignup_clientType=Developer"&gt;Developer License&lt;/a&gt; for developing with MapQuest Platform Beta code.&lt;/p&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/06/17/5-3rc5-release-for-javascript-and-fujax-apis/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1226917/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/06/17/5-3rc5-release-for-javascript-and-fujax-apis/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=r5sDII"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=r5sDII" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=T6pwLi"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=T6pwLi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=s7lxBi"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=s7lxBi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=vTuCai"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=vTuCai" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/313828192" height="1" width="1"/&gt;</description><category>announcement</category><category>api</category><category>beta</category><category>fujax</category><category>javascript</category><category>traffic</category><dc:creator>Josh Babetski</dc:creator><dc:date>2008-06-17T09:30:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/06/17/5-3rc5-release-for-javascript-and-fujax-apis/</feedburner:origLink></item><item><title>Do You Shazou?</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/308076125/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/06/09/do-you-shazou/</guid><comments>http://devblog.mapquest.com/2008/06/09/do-you-shazou/#comments</comments><description>&lt;p&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2993"&gt;Shazou&lt;/a&gt; (Japanese for "mapping") is a great Firefox plug-in developed by &lt;a href="http://seisan.com/"&gt;Seisan&lt;/a&gt; to map and geolocate any web site currently being viewed. It's another helpful tool against &lt;a href="http://en.wikipedia.org/wiki/Phishing"&gt;phishing&lt;/a&gt; scams.&lt;/p&gt;

&lt;p&gt;Shazou is powered by the MapQuest Platform: Free Edition AS3 API. Download it from the &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2993"&gt;Shazou page&lt;/a&gt; on the Official Mozilla Firefox Add Ons site.&lt;/p&gt;

&lt;div style="text-align: center"&gt;&lt;img  src="http://www.blogsmithmedia.com/devblog.mapquest.com/media/2008/06/shazou-screenshot.jpg" class="border1" /&gt;&lt;/div&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/06/09/do-you-shazou/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1216799/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/06/09/do-you-shazou/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=nKQ3MI"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=nKQ3MI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=4UY04i"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=4UY04i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=tWNrWi"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=tWNrWi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=WpFbCi"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=WpFbCi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/308076125" height="1" width="1"/&gt;</description><category>as3</category><category>firefox</category><category>flash</category><category>flex</category><dc:creator>Josh Babetski</dc:creator><dc:date>2008-06-09T10:55:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/06/09/do-you-shazou/</feedburner:origLink></item><item><title>Using MapQuest 5.3 in an ASP.NET application</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/305394771/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/06/05/using-mapquest-5-3-in-an-asp-net-application/</guid><comments>http://devblog.mapquest.com/2008/06/05/using-mapquest-5-3-in-an-asp-net-application/#comments</comments><description>&lt;p&gt;Earlier this week I was thinking, wouldn't it be cool if the MapQuest .NET API would allow me to program all my logic in C# (or VB.NET) and then instead of having it generate a bitmap, have it generate just the URL of a map? The URL can be used in web applications or I can embed the url in an image tag which I send as an email. A whole new world of possibilities opens up. Guess what? Generating an URL for a MapQuest map is part of the API today!&lt;/p&gt;&lt;p&gt;
In a &lt;a href=http://devblog.mapquest.com/2008/05/13/getting-started-with-the-mapquest-api-5-3-and-c/"&gt;previous blog post&lt;/a&gt; I described how to use the &lt;b&gt;Exec&lt;/b&gt; object to create a bitmap of a map:
&lt;/p&gt;
&lt;code&gt;&lt;pre&gt;
sbyte[] imageBytes = Exec.GetMapImageDirect( session );
byte[] bytes = (byte[]) (Array) imageBytes;

MemoryStream stream = new MemoryStream( bytes );
Bitmap bitmap = new Bitmap( stream );
&lt;/pre&gt;&lt;/code&gt;
&lt;p&gt;
Using the same Exec object, just use the GetMapDirectURLEx method to build an URL to the same image. 
&lt;/p&gt;
&lt;code&gt;&lt;pre&gt;
string url = Exec.GetMapDirectURLEx( session, new MQClientInterface.DisplayState() );
&lt;/pre&gt;&lt;/code&gt;
Just assign the URL to an the ImageURL property of an ASP.NET Image control and the map will be displayed.
&lt;code&gt;&lt;pre&gt;
imgMap.ImageUrl = url;   // imgMap is an Image control
&lt;/pre&gt;&lt;/code&gt;
&lt;p&gt;
I ran my code on the development environment and as such I get back a reference to the MapQuest dev box:
&lt;/p&gt;

&lt;code&gt;&lt;pre&gt;
&lt;a href="http://map.dev.mapquest.com//mqserver.dll?e=0&amp;amp;GetMapDirect.1=Session:5,MapState:,,314159.265358,314159.265358,11.111111,8.333333,0,CoverageStyle:2,,DTStyle:3072,0,2147483647,MQ09191,0,0,1,-1,,-1,-1,-1,-1,-1,-1,DTStyle:3073,0,2147483647,MQ09192,0,0,1,-1,,-1,-1,-1,-1,-1,-1,FeatureCollection:2,PointFeature:,3072,0,,,0,45.36333,-68.504058,32767,32767,PointFeature:,3073,0,,,0,45.315357,-68.474258,32767,32767,PrimitiveCollection:1,LinePrimitive.2:3617,RouteShape,1,255,65280,150,0,LatLngCollection.1:7,45363330,-68504058,-6889,-3235,-7343,-9316,-6359,6417,-11261,9460,-14687,23003,-1434,3471,PointCollection:0,BestFit.2:1.2,1,DTCollection.1:0,0,0,DisplayState.1:0,72,1,Authentication.3:b70fHwouU7&gt;yb446,73655,,NET_5.3.0_RC1,2141274732,
" target="_blank"&gt;http://map.dev.mapquest.com//mqserver.dll?e=0&amp;amp;GetMapDirect.1=Session:5,MapState:,,314159.265358,314159.265358,11.111111,8.333333,0,
CoverageStyle:2,,DTStyle:3072,0,2147483647,MQ09191,0,0,1,-1,,-1,-1,-1,-1,-1,-1,
DTStyle:3073,0,2147483647,MQ09192,0,0,1,-1,,-1,-1,-1,-1,-1,-1,
FeatureCollection:2,PointFeature:,3072,0,,,0,45.36333,-68.504058,32767,32767,
PointFeature:,3073,0,,,0,45.315357,-68.474258,32767,32767,
PrimitiveCollection:1,LinePrimitive.2:3617,RouteShape,1,255,65280,150,0,
LatLngCollection.1:7,45363330,-68504058,-6889,-3235,-7343,-9316,-6359,6417,-11261,9460,-14687,23003,-1434,3471,
PointCollection:0,BestFit.2:1.2,1,DTCollection.1:0,0,0,DisplayState.1:0,72,1,
Authentication.3:b70fHwouU7&gt;yb446,73655,,
NET_5.3.0_RC1,2141274732,
&lt;/a&gt;&lt;/pre&gt;&lt;/code&gt;

&lt;p&gt;As you can see my route from work to home is not very long :-)&lt;/p&gt;
&lt;div style="text-align: center"&gt;
&lt;img id="imgMap" src="http://www.blogsmithmedia.com/devblog.mapquest.com/media/2008/06/mqserverscreen.gif" class="border1" /&gt;
&lt;/div&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/06/05/using-mapquest-5-3-in-an-asp-net-application/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1216568/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/06/05/using-mapquest-5-3-in-an-asp-net-application/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=f8D1MI"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=f8D1MI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=suhWBi"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=suhWBi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=1qTaBi"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=1qTaBi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=vSNvGi"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=vSNvGi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/305394771" height="1" width="1"/&gt;</description><category>api</category><category>dotnet</category><category>how-to</category><dc:creator>Mark Blomsma</dc:creator><dc:date>2008-06-05T10:47:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/06/05/using-mapquest-5-3-in-an-asp-net-application/</feedburner:origLink></item><item><title>Building a reusable Windows Control with MapQuest API 5.3 and C#</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/299142607/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/05/27/building-a-reusable-windows-control-with-mapquest-api-5-3-and-c/</guid><comments>http://devblog.mapquest.com/2008/05/27/building-a-reusable-windows-control-with-mapquest-api-5-3-and-c/#comments</comments><description>&lt;p&gt;
    Time to take the MapQuest API 5.3 beta a step further and see how hard it is to 
    embed MapQuest mapping a windows application. As a developer I&amp;amp;#39;m constantly 
    thinking "is this a one time effort? or do I want to reuse this code?". Well for 
    embedding MapQuest into my .NET application I would like to create a reusable 
    component, in fact, I&amp;amp;#39;d like to create a WinForm usercontrol which can be reused 
    in any application simply by dragging and dropping the control onto a form.&lt;/p&gt;
&lt;p&gt;
    So what are the steps to build such a control?&lt;/p&gt;&lt;ol&gt;
    &lt;li&gt; Create a new library project in C# &lt;br /&gt; &lt;br /&gt;&lt;/li&gt;
    &lt;li&gt;Add a new item of type UserControl&lt;br /&gt;
        &lt;br /&gt;
        &lt;div style="text-align:center"&gt;
          &lt;img alt="add user control" src="http://www.blogsmithmedia.com/devblog.mapquest.com/media/2008/05/mb_addusercontrol.jpg" /&gt;
        &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;Is intended to display a MapQuest route, for this we need a PictureBox, so add a 
        PictureBox control to the design surface and set the &lt;b&gt;Dock&lt;/b&gt; property to Fill. 
        This will make the picture resize automatically to the size of the UserControl. &lt;br /&gt; &lt;br /&gt;&lt;/li&gt;
    &lt;li&gt;Since we&amp;amp;#39;ll be accessing the Internet and there is no telling how fast our 
        connection is, we&amp;amp;#39;ll want all the interaction with the MapQuest server to be 
        done on a background thread, so add a BackgroundWorker control to the 
        usercontrol as well.  &lt;br /&gt; &lt;br /&gt;&lt;/li&gt;
    &lt;li&gt;We want our control to show a &amp;amp;#39;loading&amp;amp;#39; image while it it busy dowloading the 
        map, and we need an error image in case an error occurs and we&amp;amp;#39;re unable to show 
        a map. Create a resource file and add two images for this purpose:&lt;br /&gt;
				&lt;div style="text-align:center"&gt;
				  &lt;img alt="image resources" src="http://www.blogsmithmedia.com/devblog.mapquest.com/media/2008/05/mb_imageresources.jpg" /&gt;
				&lt;/div&gt;
&lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;Time to write some code. We add a method to the control for showing a route. The 
        method takes three parameters: origin, destination and errorhandler:&lt;code&gt;&lt;pre&gt;
public void ShowRoute( GeoAddress origin, GeoAddress destination, HandleException handler )
{
_handler = handler;
picMap.Image = null;
try
{
Validations.Parameters.NotNull( origin, "origin", 
"Origin cannot be null when showing a route." );
Validations.Parameters.NotNull( destination, "destination", 
"Destination cannot be null when showing a route." );
}
catch ( Exception exception )
{
picMap.Image = Images.Error;
if ( _handler == null )
{
throw;
}

_handler( exception );
}

RouteData data = new RouteData
{
Origin = origin,
Destination = destination,
Width = picMap.Width,
Height = picMap.Height
};
BuildMapWorker.RunWorkerAsync( data );
picMap.Image = Images.Loading;           
}                                
&lt;/pre&gt;
        &lt;/code&gt;&lt;br /&gt;
        Notice in the code above we perform some basic parameter checking and then pass the data to the 
        BuildMapWorker thread. We&amp;amp;#39;re using the C# 3.0 object initializer for 
        initializing the values of the struct.
        &lt;br /&gt;
        Also in the code, if the handler parameter is null, then 
        any exception thrown during the MapQuest server interaction will be thrown 
        without handling. HandleException is a delegate allowing the user of the control 
        to decide how to handle any exceptions.&lt;br /&gt;
        Right after the work is handed off to the BuildMapWorker thread the image is set 
        to &amp;amp;#39;Loading&amp;amp;#39;.&lt;br /&gt; &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt; 
        The RunWorkAsync method on the BackgroundWorker will trigger the code in the 
        DoWork eventhandler. Here we use the helper proxies that we created in our 
        previous post to first crearte a route and the map the route to an actual map.
        &lt;code&gt;
        &lt;pre&gt;
private void BuildMapWorker_DoWork( object sender, DoWorkEventArgs e )
{
RouteData data = (RouteData) e.Argument;

RouteResults route;
using ( RouteServerProxy proxy = new RouteServerProxy() )
{
route = proxy.CreateRoute( data.Origin, data.Destination );
}
using ( MapServerProxy proxy = new MapServerProxy() )
{
// e.Result will be a bitmap
e.Result = proxy.GetMap( route.ShapePoints.ToLine(), data.Width, data.Height );
}
}                                
&lt;/pre&gt;
        &lt;/code&gt;&lt;br /&gt;
        Note that RouteData is a custom struct for passing information from the UI thread to the background thread.
        The background thread is not allowed to interact with the UI controls, so all information needs to be
        passed as a parameter.
        &lt;br /&gt;
        Similarly the result of GetMap is a bitmap, we don&amp;amp;#39;t put the bitmap directly 
        back onto the control, instead we pass it back to the UI thread via the 
        DoWorkEventArgs parameter. &lt;br /&gt; &lt;br /&gt;&lt;/li&gt;
    &lt;li&gt; 
        Let&amp;amp;#39;s take a look at the proxy code, there are a couple of overloads but the 
        following method gets called to create the route:&lt;code&gt;&lt;pre&gt;
public RouteResults CreateRoute( LocationCollection addresses )
{
// This is the collection that will hold the geocoded locations to be utilized in the call to DoRoute.
LocationCollection routeLocations = addresses;

// The RouteOptions object contains information pertaining to the Route to be performed.
RouteOptions routeOptions = new RouteOptions();
routeOptions.MaxShapePointsPerManeuver = 100;

// The RouteResults object will contain the results of the DoRoute call.  The
// results contains information such as the narrative, drive time and distance.
RouteResults routeResults = new RouteResults();

// This call to the server actually generates the route.
Exec.DoRoute( routeLocations, routeOptions, routeResults, String.Empty );

// Throw an exception if an error occurred.
ThrowExceptionOnError( routeResults );

return routeResults;
}                                
&lt;/pre&gt;
        &lt;/code&gt; &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt; 
        Then the code in the MapServerProxy to load the map looks like this:&lt;code&gt;&lt;pre&gt;
public Bitmap GetMap( LinePrimitive route, int width, int height )
{
// The MapState object contains the information necessary to display the map,
// such as size, scale, and latitude/longitude coordinates for centering the map.
MapState map = new MapState();

// Define the width and height of the map in pixels.
map.WidthPixels = width;
map.HeightPixels = height;

// The MapQuest Session object is composed of multiple objects,
// such as the MapState and CoverageStyle.
Session session = new Session();

// Add user defined styles in order to create custom points of interest.
CoverageStyle styles = new CoverageStyle();
DTStyle start = styles.AddIcon( 3072, Miscellaneous.Start.Value() );
DTStyle end = styles.AddIcon( 3073, "MQ09192" );

// A point of interest is considered a feature on the map.
// A map can have multiple features.
FeatureCollection features = new FeatureCollection();
features.AddPointFeature( route.LatLngs.First(), start );
features.AddPointFeature( route.LatLngs.Last(), end );

// Add the line primitive to a primitiveCollection
PrimitiveCollection primitives = new PrimitiveCollection();
primitives.Add( route );

// The best fit object is used to draw a map at an appropriate scale determined
// by the features you have added to the session, along with the optional primitives.
// In this case we want the map to be displayed at a scale that includes the origin
// and destination locations (pointFeatures) as well as the routeHighlight(linePrimitive).
// The scaleAdjustmentFactor is then used to increase the scale by this factor based
// upon the best fit that was performed.  This results in a border around the edge of
// the map that does not include any features so the map appears clearer.
BestFit scaling = new BestFit();
scaling.ScaleAdjustmentFactor = 1.2;
scaling.IncludePrimitives = true;

// Add objects to the session.
session.AddOne( map ); 
session.AddOne( styles ); 
session.AddOne( features ); 
session.AddOne( primitives ); 
session.AddOne( scaling );

sbyte[] imageBytes = Exec.GetMapImageDirect( session );
byte[] bytes = (byte[]) (Array) imageBytes;

MemoryStream stream = new MemoryStream( bytes );
Bitmap bitmap = new Bitmap( stream );

return bitmap;
}                                
&lt;/pre&gt;
        &lt;/code&gt; &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt; 
        Lastly, the RunWorkerCompleted event is fired by the BackgroundWorker and here 
        the event arguments now contain the bitmap we want to put on the control:&lt;code&gt;&lt;pre&gt;
private void BuildMapWorker_RunWorkerCompleted( object sender, RunWorkerCompletedEventArgs e )
{
try
{
if ( e.Error != null )
{
// throw the error on the UI thread.
throw e.Error;
}
else
{
// update the image back on the UI thread
this.picMap.Image = (Bitmap) e.Result;
}
}
catch ( Exception exception )
{
// handle the exception on the UI thread (in case the handler implement UI interaction)
picMap.Image = Images.Error;
if ( _handler == null )
{
throw;
}
_handler( exception );
}
}
&lt;/pre&gt;
        &lt;/code&gt; &lt;br /&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
    I&amp;amp;#39;ve created a demo application, which actually has a couple more controls, 
    which demos the use of this control. You can download it 
    &lt;a href="http://www.develop-one.net/Home/downloads/aol/MapQuest/Post2/MapQuest-b2.zip"&gt;here, all the sources 
    are included&lt;/a&gt;. To make the application run you will need to supply your own 
    ClientID and Password in the app.config file.&lt;/p&gt;
&lt;p&gt;
    The demo works like this, enter the point of origin on the first tab:&lt;/p&gt;
		&lt;div style="text-align:center"&gt;
		  &lt;img alt="screenshot 1" src="http://www.blogsmithmedia.com/devblog.mapquest.com/media/2008/05/mb_screenshot1.jpg" /&gt;
		&lt;/div&gt;
&lt;p&gt;
    Then enter the destination on the second tab:&lt;/p&gt;
		&lt;div style="text-align:center"&gt;
		  &lt;img alt="screenshot 2" src="http://www.blogsmithmedia.com/devblog.mapquest.com/media/2008/05/mb_screenshot2.jpg" /&gt;
		&lt;/div&gt;
&lt;p&gt;
    After which you can go to the third tab and see the route:&lt;/p&gt;
		&lt;div style="text-align:center"&gt;
		  &lt;img alt="screenshot 3" src="http://www.blogsmithmedia.com/devblog.mapquest.com/media/2008/05/mb_screenshot3.jpg" /&gt;
		&lt;/div&gt;
&lt;p&gt;
    Happy coding!&lt;/p&gt;
&lt;p&gt;
    - Mark Blomsma&lt;/p&gt;
&lt;p&gt;
Download sources
&lt;a href="http://www.develop-one.net/Home/downloads/aol/MapQuest/Post2/MapQuest-b2.zip"&gt;
here&lt;/a&gt;.&lt;/p&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/05/27/building-a-reusable-windows-control-with-mapquest-api-5-3-and-c/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1204289/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/05/27/building-a-reusable-windows-control-with-mapquest-api-5-3-and-c/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=YkWw3H"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=YkWw3H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=3b78eh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=3b78eh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=ZVTKfh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=ZVTKfh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=xpdVUh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=xpdVUh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/299142607" height="1" width="1"/&gt;</description><category>csharp</category><category>dotnet</category><category>how-to</category><dc:creator>Mark Blomsma</dc:creator><dc:date>2008-05-27T10:45:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/05/27/building-a-reusable-windows-control-with-mapquest-api-5-3-and-c/</feedburner:origLink></item><item><title>JavaScript, AS3, &amp; FUJAX 5.3 RC4 APIs Released: Now With More Traffic!</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/293566650/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/05/19/javascript-as3-and-fujax-5-3-rc4-apis-released-now-with-more-tr/</guid><comments>http://devblog.mapquest.com/2008/05/19/javascript-as3-and-fujax-5-3-rc4-apis-released-now-with-more-tr/#comments</comments><description>&lt;p&gt;As we get closer to the final 5.3 release, we just rolled-out Release Candidate 4 of our 5.3 JavaScript, &lt;abbr title="ActionScript 3"&gt;AS3&lt;/abbr&gt;, and &lt;acronym title="Flash Under JavaScript and XML"&gt;FUJAX&lt;/acronym&gt; &lt;abbr title="application program interface"&gt;API&lt;/abbr&gt;s.  The major update this time: the addition of more features for adding traffic information into your application. We've also added traffic documentation and code samples for those of you who like that sort of thing.&lt;/p&gt;

&lt;p&gt;More details on the &lt;a href="http://developer.mapquest.com/beta#RC4"&gt;Developer Network Beta&lt;/a&gt; page, but here's a quick rundown of the updates:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;You can now set minimum and maximum zoom levels on &lt;abbr title="point-of-interest"&gt;POI&lt;/abbr&gt;s. The POI would then only be visible on the map between the specified zoom levels.&lt;/li&gt;
	&lt;li&gt;You can now add traffic incident POIs to your map.&lt;/li&gt;
	&lt;li&gt;You can now add traffic flow to your map.&lt;/li&gt;
	&lt;li&gt;Retrieve item by key from collection or map: You can now get a shape back out of the map, or any collection, by using it's &lt;em&gt;Key&lt;/em&gt; property.&lt;/li&gt;
	&lt;li&gt;Get reference to a Shape's parent collection: You can now ask a shape to tell you all the different &lt;em&gt;ShapeCollections&lt;/em&gt; it is in&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Happy trafficking! &lt;br /&gt;
&lt;span style="font-size:0.8em"&gt;Hrmm... that didn't come out quite the way I intended&lt;/span&gt;.&lt;/p&gt;

&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/05/19/javascript-as3-and-fujax-5-3-rc4-apis-released-now-with-more-tr/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1196448/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/05/19/javascript-as3-and-fujax-5-3-rc4-apis-released-now-with-more-tr/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=J0O4fH"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=J0O4fH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=X70iPh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=X70iPh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=uU8VDh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=uU8VDh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=UAD7Oh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=UAD7Oh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/293566650" height="1" width="1"/&gt;</description><category>announcement</category><category>api</category><category>as3</category><category>fujax</category><category>javascript</category><category>pois</category><category>releases</category><category>traffic</category><dc:creator>Josh Babetski</dc:creator><dc:date>2008-05-19T11:11:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/05/19/javascript-as3-and-fujax-5-3-rc4-apis-released-now-with-more-tr/</feedburner:origLink></item><item><title>Getting started with the MapQuest API 5.3 and C#</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/289494772/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/05/13/getting-started-with-the-mapquest-api-5-3-and-c/</guid><comments>http://devblog.mapquest.com/2008/05/13/getting-started-with-the-mapquest-api-5-3-and-c/#comments</comments><description>&lt;p&gt;If you're a C# .NET developer and want to get started using
the new MapQuest 5.3 API then you can get started today with the beta/release
candidate version available on &lt;a href="http://developer.mapquest.com/Beta"&gt;http://developer.mapquest.com/Beta&lt;/a&gt;.&lt;br&gt;
Download the .NET library and start exploring.&lt;/p&gt;

&lt;p&gt;From a .NET point of view not much has changed (yet) in the
5.3 API:&lt;br&gt;
- The library has been renamed to mapquest20.dll to reflect that this is for
.Net 2.0 and above only &lt;br&gt;
- It has been tested with the 2.0 framework AND the 3.5 framework &lt;br&gt;
- It has been tested with both 32-bit and 64-bit environments &lt;br&gt;
- No interface changes have been made&lt;/p&gt;&lt;p&gt;Getting a free developer account. Right now there are two
types of developer account available:&lt;br&gt;
- MapQuest Platform: Free Edition&lt;br&gt;
- Free Developer License for MapQuest Platform: Enterprise Edition [1]&lt;/p&gt;

&lt;p&gt;Just apply to the first one since that will give you access
to both. After signing up and confirming your account, you may have to wait a
couple of hours for your account to become active. Mine took about 6 hours to
become active.&lt;/p&gt;

&lt;p&gt;In the meantime you can &lt;a
href="http://developer.mapquest.com/Beta"&gt;download the .NET library&lt;/a&gt;. The
whole library is contained in one DLL named mapquest20.dll, start a new
project, add an assembly reference and you're ready to go.&lt;/p&gt;

&lt;p&gt;Check your account confirmation email for a list of the
server names that you can use to access the MapQuest Platform, note that the
information in the email will be more accurate than what you may find on the
beta website.&lt;/p&gt;

&lt;p&gt;There are four MapQuest servers, each offering a unique set
of services to make the MapQuest offering whole. These servers are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Map Server - used for creating basic maps&lt;/li&gt;&lt;li&gt;
Geocode Server - used for finding latitude/longitude for addresses&lt;/li&gt;&lt;li&gt;
Route Server - used for created routes&lt;/li&gt;&lt;li&gt;
Spatial Server - used for searching in a specific area&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The C# API offers one central class which is responsible for
all server calls and it is called the Exec class. Depending on what server you
point the Exec class to the appropriate methods become available.&lt;/p&gt;

&lt;p&gt;In order to produce a basic map you'll need at minimum the
Map Server and probably the Geocode Server for locating an address.&lt;/p&gt;

&lt;p&gt;One of the things you'll notice when using the
mapquest20.dll is that it uses very few C#2.0 features (like generics). In
order to make the provided API easier to use from my own code I've created some
wrapper functions.&lt;br&gt;
The first method can be used to geocode an address:&lt;/p&gt;

&lt;code&gt;&lt;pre&gt;

/// &amp;lt;summary&gt;
/// Find a list of geo encoded addresses based on a regular adress.
/// &amp;lt;/summary&gt;
/// &amp;lt;param name="address"&gt;Address&amp;lt;/param&gt;
/// &amp;lt;returns&gt;List of geocoded address, or null if none are available.&amp;lt;/returns&gt;
public List&amp;lt;GeoAddress&gt; Geocode( Address address )
{
    Disposable.ClassVariableCannotBeNull( this, Exec, "Exec" );
    Parameters.NotNullOrEmpty( this, address.Country, "address.Country", "Geocode" );

    LocationCollection locations = new LocationCollection();
    try
    {
        Exec.Geocode( address, locations );
    }
    catch ( Exception exception )
    {
        // TODO: Log exception
        return null;
    }
    List&amp;lt;GeoAddress&gt; results = new List&amp;lt;GeoAddress&gt;( locations.Size );
    for ( int i = 0, size = locations.Size; i &amp;lt; size; i++ )
    {
        results.Add( (GeoAddress) locations.GetAt( i ) );
    }
    return results;
}

/// &amp;lt;summary&gt;
/// Find a list of geo encoded addresses based on individual parts of an address.
/// &amp;lt;/summary&gt;
/// &amp;lt;param name="street"&gt;&amp;lt;/param&gt;
/// &amp;lt;param name="city"&gt;&amp;lt;/param&gt;
/// &amp;lt;param name="county"&gt;&amp;lt;/param&gt;
/// &amp;lt;param name="state"&gt;&amp;lt;/param&gt;
/// &amp;lt;param name="postalCode"&gt;&amp;lt;/param&gt;
/// &amp;lt;param name="country"&gt;&amp;lt;/param&gt;
/// &amp;lt;returns&gt;List of geocoded address, or null if none are available.&amp;lt;/returns&gt;
public List&amp;lt;GeoAddress&gt; Geocode( string street, string city, string county, string state, string postalCode, string country )
{
    Address address = new Address();

    address.Init();
    address.Street = street;
    address.City = city;
    address.County = county;
    address.State = state;
    address.PostalCode = postalCode;
    address.Country = country;

    return Geocode( address );
}

&lt;/pre&gt;&lt;/code&gt;


&lt;p&gt;The second method will create an image based on the
latitude/longitude of the point of interest. It will also show a basic point of
interest at the specified location.&lt;/p&gt;


&lt;code&gt;&lt;pre&gt;
/// &amp;lt;summary&gt;
/// Return a (bit)map centered on the provided address.
/// 
/// Address needs to have LatLng property set.
/// &amp;lt;/summary&gt;
/// &amp;lt;param name="address"&gt;The address to center on.&amp;lt;/param&gt;
/// &amp;lt;param name="width"&gt;Width of the map in pixels (DPI = 72)&amp;lt;/param&gt;
/// &amp;lt;param name="height"&gt;Height of the map in pixels (DPI = 72)&amp;lt;/param&gt;
/// &amp;lt;param name="scale"&gt;Scale of the map. Level of detail displayed varies depending on the scale of the map.&amp;lt;/param&gt;
/// &amp;lt;returns&gt;Return a bitmap of the map centered on provided address.&amp;lt;/returns&gt;
public Bitmap GetMap( GeoAddress address, int width, int height, int scale )
{
    return GetMap( address.LatLng, width, height, scale );
}

/// &amp;lt;summary&gt;
/// Return a (bit)map centered on the provided latitude/longitude.
/// &amp;lt;/summary&gt;
/// &amp;lt;param name="center"&gt;Coordinates for the center of the map.&amp;lt;/param&gt;
/// &amp;lt;param name="width"&gt;Width of the map in pixels (DPI = 72)&amp;lt;/param&gt;
/// &amp;lt;param name="height"&gt;Height of the map in pixels (DPI = 72)&amp;lt;/param&gt;
/// &amp;lt;param name="scale"&gt;Scale of the map. Level of detail displayed varies depending on the scale of the map.&amp;lt;/param&gt;
/// &amp;lt;returns&gt;Return a bitmap of the map centered on provided latitude/longitude.&amp;lt;/returns&gt;
public Bitmap GetMap( LatLng center, int width, int height, int scale )
{
    // The MapState object contains the information necessary to display the map,
    // such as size, scale, and latitude/longitude coordinates for centering the map.
    MapState map = new MapState();

    // Define the width and height of the map in pixels.
    map.WidthPixels = width;
    map.HeightPixels = height;

    // The MapScale property tells the server the scale at which to display the map.
    // Level of detail displayed varies depending on the scale of the map.
    map.MapScale = scale;

    // Specify the latitude/longitude coordinate to center the map.
    map.Center = center;

    // The MapQuest Session object is composed of multiple objects,
    // such as the MapState and CoverageStyle.
    Session session = new Session();

    // Add objects to the session.
    session.AddOne( map );
    session.AddOne( Features.CreateBasicPOI(center) );

    sbyte[] imageBytes = Exec.GetMapImageDirect( session );
    byte[] bytes = (byte[]) (Array) imageBytes;

    MemoryStream stream = new MemoryStream( bytes );
    Bitmap bitmap = new Bitmap( stream );

    return bitmap;
}
&lt;/pre&gt;&lt;/code&gt;

&lt;p&gt;The MapQuest API returns an image as an array of sbytes.
Since .NET has a basic type for images, named Bitmap, it is much more useful to
have the method return a bitmap which can then be used anyway you please. To do
this the array is &lt;a
href="http://www.develop-one.net/blog/2008/04/23/ArrayConversionUsingLINQ.aspx"&gt;converted
from sbytes to bytes&lt;/a&gt; since that is all the MemoryStream can handle.&lt;/p&gt;

&lt;p&gt;The &lt;a
href="http://developer.mapquest.com/Library/CodeSamples/dotNET"&gt;samples&lt;/a&gt;
posted on the MapQuest site are a great help in figuring out how to use the C#
MapQuest API and is actually more detailed than the provided documentation.&lt;/p&gt;
&lt;p&gt;
Happy coding!&lt;/p&gt;&lt;p&gt;- Mark Blomsma&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;[1] MapQuest Platform Services offers a free Developer License for Enterprise Edition, providing you access to the features and functionality of the Enterprise Edition while you are developing and prototyping your map application. Register for the free Developer License at MapQuest Developer Network and get started today.&lt;/p&gt;

&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/05/13/getting-started-with-the-mapquest-api-5-3-and-c/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1185223/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/05/13/getting-started-with-the-mapquest-api-5-3-and-c/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=naAj4H"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=naAj4H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=PfLMMh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=PfLMMh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=u8aa1h"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=u8aa1h" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=Q0QN2h"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=Q0QN2h" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/289494772" height="1" width="1"/&gt;</description><category>api</category><category>csharp</category><category>dotnet</category><category>geocoding</category><category>how-to</category><dc:creator>Mark Blomsma</dc:creator><dc:date>2008-05-13T11:02:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/05/13/getting-started-with-the-mapquest-api-5-3-and-c/</feedburner:origLink></item><item><title>Where is MapQuest</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/286875217/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/05/09/where-is-mapquest/</guid><comments>http://devblog.mapquest.com/2008/05/09/where-is-mapquest/#comments</comments><description>&lt;p&gt;Continuing our string of weekly trade show announcements, we'd like to let you know that MapQuest is a Platinum Sponsor of and will be attending the annual &lt;a href="http://en.oreilly.com/where2008/public/content/home"&gt;Where 2.0 Conference&lt;/a&gt; being held next week in &lt;a href="http://www.mapquest.com/maps/San+Francisco+Airport+Marriott:burlingame+ca/#a/maps/l:Marriott-San+Francisco+Airport:1800+Bayshore+Hwy:Burlingame:CA:94010:US:37.60267:-122.372269:address:/m::12:37.60267:-122.372269:0::/io:0:::::f:EN:M:/e"&gt;Burlingame, CA&lt;/a&gt; from May 12&lt;sup&gt;th&lt;/sup&gt; to the 14&lt;sup&gt;th&lt;/sup&gt;. (For those of you not familiar with the Valley, the show is right outside the San Francisco Airport.)&lt;/p&gt;

&lt;p&gt;If you're attending the show, stop by and tell us what you're working on and how MapQuest can help.&lt;/p&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/05/09/where-is-mapquest/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1183568/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/05/09/where-is-mapquest/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=PYlH2H"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=PYlH2H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=YteLsh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=YteLsh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=XQA8yh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=XQA8yh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=e0GyTh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=e0GyTh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/286875217" height="1" width="1"/&gt;</description><category>conferences</category><category>events</category><dc:creator>Josh Babetski</dc:creator><dc:date>2008-05-09T10:45:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/05/09/where-is-mapquest/</feedburner:origLink></item><item><title>Map It! - Building a MapQuest Mac OS X Dashboard Widget - Part 7  - Address Book Integration</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/286072620/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/05/08/map-it-building-a-mapquest-mac-os-x-dashboard-widget-part-7/</guid><comments>http://devblog.mapquest.com/2008/05/08/map-it-building-a-mapquest-mac-os-x-dashboard-widget-part-7/#comments</comments><description>&lt;p&gt;&lt;i&gt;There's nothing that makes you so aware of the improvisation of human existence as a song unfinished. Or an old address book. - &lt;a href="http://en.wikipedia.org/wiki/Carson_McCullers"&gt;Carson McCullers&lt;/a&gt;&lt;/i&gt;&lt;/p&gt; &lt;p&gt;In &lt;a href="http://devblog.mapquest.com/2008/03/13/map-it-building-a-mapquest-mac-os-x-dashboard-widget-part-1/"&gt;Part 1&lt;/a&gt; I showed you how to get started with the MapQuest Advantage API by getting a developer key. In &lt;a href="http://devblog.mapquest.com/2008/03/20/map-it-building-a-mapquest-mac-os-x-dashboard-widget-part-2/"&gt;Part 2&lt;/a&gt; I put that key to use by providing access to a basic map in the Map It! widget. &lt;a href="http://devblog.mapquest.com/2008/04/03/map-it-building-a-mapquest-mac-os-x-dashboard-widget-part-3/"&gt;Part 3&lt;/a&gt; showed you how to incorporate basic geocoding. In &lt;a href="http://devblog.mapquest.com/2008/04/10/map-it-building-a-mapquest-mac-os-x-dashboard-widget-part-4/"&gt;Part 4&lt;/a&gt; I discussed more advanced geocoding topics - including handling multiple matches and specifying geocode search options. &lt;a href="http://devblog.mapquest.com/2008/04/17/map-it-building-a-mapquest-mac-os-x-dashboard-widget-part-5/"&gt;Part 5&lt;/a&gt; discussed adding widget options including the default zoom level, specifying point of interest icons, and the default map type. &lt;a href="http://devblog.mapquest.com/2008/05/01/map-it-building-a-mapquest-mac-os-x-dashboard-widget-part-6/"&gt;Part 6&lt;/a&gt; discussed how to add direction capabilities to the widget. In this final installment I'll talk about how easy it is to integrate address searching with the Mac OS X Address Book application.&lt;/p&gt; &lt;h3&gt;Address Book Searching&lt;/h3&gt; &lt;p&gt;The Mac OS X Address Book application is bundled with the OS X operating system, providing a way for users to organize their contacts and associated information including their addresses. Also included with Mac OS X is an Address Book widget, which provides access to the Address Book database from a widget. I've explored the Address Book widget code, and extracted the AddressBookPlugIn. Plug-ins are native code that can be used to access operating system levels features from a widget's JavaScript interface.&lt;/p&gt;&lt;p&gt;Listing 1 demonstrates how I've modified the address parsing method. If an address is entered that does not match one of the pre-defined formats I will assume that it's a name to retrieve from the Address Book. The address book is searched for the name with the best match. Then the street, city, state, and zip code are retrieved from the best match. The retrieved address is then parsed as discussed in &lt;a href="http://devblog.mapquest.com/2008/04/03/map-it-building-a-mapquest-mac-os-x-dashboard-widget-part-3/"&gt;Part 3&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Listing 1 - Retrieving From the Address Book&lt;/b&gt;&lt;/p&gt;
&lt;pre&gt;
function onAddressSearch(event)
{
  // user hit a return?
    if(event.keyCode == 13) {
    if(!$(address).value.blank()) {

    var street = "";
    var city = "";
    var state = "";
    var zip = "";
    var country = "";

     $(lblErrorMsg).innerText = "";
       $(multMatches).style.visibility = "hidden";
     $(lblMultMatch).style.visibility = "hidden";

       var splitAddr = $(address).value.split(',');

     // if we only get 2 elements assume address, zip
     if(splitAddr.length == 2) {
      street = splitAddr[0];
      zip = splitAddr[1];

    // for three elements assume address, city, state
     } else if(splitAddr.length == 3) {
      street = splitAddr[0];
      city = splitAddr[1];
      state = splitAddr[2];

    // for 4 elements assume address, city, state, zip
     } else if(splitAddr.length == 4) {
      street = splitAddr[0];
      city = splitAddr[1];
      state = splitAddr[2];
      zip = splitAddr[3];

    // for 5 elements assume address, city, state, zip, country
     } else if(splitAddr.length == 5) {
      street = splitAddr[0];
      city = splitAddr[1];
      state = splitAddr[2];
      zip = splitAddr[3];
      country = splitAddr[4];

     } else {
        // otherwise assume it's a name to look up in the Address Book      
      AddressBookPlugin.searchForStringWithBestMatch($(address).value);
      // retrieve the values from the address book
      street = AddressBookPlugin.displayedValueAtIndex(7);
      city = AddressBookPlugin.displayedValueAtIndex(8)
      state = AddressBookPlugin.displayedValueAtIndex(9);
      zip = AddressBookPlugin.displayedValueAtIndex(10);    
     }

     var result = widget.system('java -classpath .:mq.jar GetLocations 
       -street "' + street + '" -city "' + city + '" -state "' + state + 
       '" -zip "' + zip + '" -country "' +country + '"',null).outputString;

     // any errors?
     if(result == "ERROR") {
      $(lblErrorMsg).innerText = "Error! Unknown Address Format!"; 
     // address not found?
     } else if (result == "NOT FOUND") {
      $(lblErrorMsg).innerText = "Address Was Not Found!"; 
     } else {
      // split on return - a line is printed for each individual result
      var eachresult = result.split('\n');

      // just one result returned? - then just plot the point - 
      // there are two extra returns so 3 really means 1 item
      if(eachresult.length == 3) {
        // get the coordinates from the returned string
        var coords = eachresult[0].split('|');
        // create a new point based on the coordinates
        newCenter = new MQLatLng(parseFloat(coords[0]),parseFloat(coords[1]));

        //create a new icon object
        myIcon = new MQMapIcon();

        // set the icon image: icon file location, width, height, recalc infowindow offset,
        // is it a PNG image?

        if(defIcon == "pin") {
          myIcon.setImage("images/pinpoint_red.gif",32,32,true,false);
        } else if(defIcon == "star") {
          myIcon.setImage("images/starsmall_red",18,18,true,false);
        } else if(defIcon == "x") {
          myIcon.setImage("images/xspot.gif",17,17,true,false);
        }

        // create a point
        myPoint = new MQPoi(newCenter);

        // set the custom icon
        myPoint.setIcon(myIcon);

        // recenter the map on the point, 
        // the second parameter specifies the zoom level
        myMap.setCenter(newCenter,defZoom);
        // add the point as a Point of Interest
        myMap.addPoi(myPoint);
      } else {
        // clear out existing items
        $(multMatches).options.length = 0;
        for(var i=0; i &lt; eachresult.length; i++) {
          // parse each returned location
          var location = eachresult[i].split('|');
          // 7 items on the result line?
          if(location.length == 7) {
            var locationtext = location[2] + "," + location[3] + "," + location[4] + "," + location[5] + "," + location[6];
            var objNewOption = document.createElement("OPTION");
            $(multMatches).options.add(objNewOption);
            // add the location text
            objNewOption.text = locationtext;
            // add the coordinates as a | separate string to the value...
            objNewOption.value = location[0] + '|' + location[1];
          }
        }
        // show the label and combo box...
        $(multMatches).style.visibility = "visible";
        $(lblMultMatch).style.visibility = "visible";
      }
     }
      }
  }
}
&lt;/pre&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;For your reference, here are some references for the MapQuest Platform:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://developer.mapquest.com"&gt;MapQuest Developer Network&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developer.mapquest.com/content/documentation/JavaScript/QuickStart/DevGuide-AdvantageAPI-Javascript.pdf"&gt;MapQuest JavaScript API Developer Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developer.mapquest.com/content/documentation/JavaScript/DevRef/index.html"&gt;MapQuest JavaScript API Reference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developer.mapquest.com/content/documentation/JavaScript/TileMap/index.html"&gt;MapQuest JavaScript TileMap Reference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developer.mapquest.com/content/documentation/java/QuickStart/DevGuide-AdvantageAPI-Java.pdf"&gt;MapQuest Java API Developer Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developer.mapquest.com/content/documentation/java/DevRef/index.html"&gt;MapQuest Java Reference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://trc.mapquest.com"&gt;MapQuest Technical Resource Center&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/05/08/map-it-building-a-mapquest-mac-os-x-dashboard-widget-part-7/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1183493/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/05/08/map-it-building-a-mapquest-mac-os-x-dashboard-widget-part-7/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=e8oscH"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=e8oscH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=UTQroh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=UTQroh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=ai89dh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=ai89dh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=9QK9vh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=9QK9vh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/286072620" height="1" width="1"/&gt;</description><category>api</category><category>dashboard</category><category>how-to</category><category>java</category><category>javascript</category><category>mac</category><category>widgets</category><dc:creator>John Fronckowiak</dc:creator><dc:date>2008-05-08T09:08:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/05/08/map-it-building-a-mapquest-mac-os-x-dashboard-widget-part-7/</feedburner:origLink></item><item><title>Zoom Levels and Image Overlays</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/284731173/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/05/06/zoom-levels-and-image-overlays/</guid><comments>http://devblog.mapquest.com/2008/05/06/zoom-levels-and-image-overlays/#comments</comments><description>&lt;p&gt;In this post I will &lt;a href="http://devblog.mapquest.com/bloggers/joel-tulloch/"&gt;continue my discussion of overlays&lt;/a&gt; in the MapQuest JavaScript API 5.2. My last two posts covered a couple of methods for adding rollover functionality to overlays. Over the next couple of posts I will discuss some of the options that are available when working with image overlays.&lt;/p&gt; &lt;p&gt;There are a few things that set image overlays apart from the other overlay types. The one that poses the biggest obstacle is image resolution. Since an image overlay is "pinned" to a map with Lat and Lng coordinates, there is a significant difference in resolution required to display an image properly at different zoom levels. If this becomes an issue for your application, one of the options that is available is the &lt;i&gt;setImageOverlayLevels&lt;/i&gt; method provided by the API.&lt;/p&gt; &lt;p&gt;The &lt;i&gt;setImageOverlayLevels()&lt;/i&gt; method takes an array of &lt;i&gt;MQImageOverlayLevel&lt;/i&gt;
objects as an argument. You create an &lt;i&gt;MQImageOverlayLevel&lt;/i&gt;
object by passing a string representing the URL of the image and an integer
between 1 and 16 representing the zoom level the image should be tied to.
Although you can specify 16 different images, you don't need to, as the nearest
image to the current zoom level will always be displayed. I have included a
function here that I created as an example. The function can be used in your code
to implement the use of &lt;i&gt;MQImageOverlayLevel&lt;/i&gt;'s in your application.&lt;/p&gt;
&lt;p&gt;Listing 1: &lt;u&gt;The &lt;b&gt;addImageUrls()&lt;/b&gt; function&lt;/u&gt;&lt;/p&gt;
&lt;pre&gt;
  function addImageUrls(MAX_ZOOM, MIN_ZOOM, imageOverlay){   // Lowest resolution to highest.
    var SPAN = MAX_ZOOM-MIN_ZOOM+1;
    if(arguments.length &amp;gt; (SPAN+3)){ 
      arguments.length = SPAN+3;  // Ensure a maximum of 1 image per zoom level. 
    }
    var incrementor = MIN_ZOOM; 
    var incrementSize = Math.round(SPAN / (arguments.length - 3));  
    var levels = new Array();
    var addImageLevel = function(url,lvl){
      var newLevel = &lt;b&gt;new MQImageOverlayLevel(url,lvl)&lt;/b&gt;;
      newLevel ? levels.push(newLevel) : alert('Error: Level ' +
        lvl + ' image initialization has failed.'); // No real error checking implemented here.  
    }; 
    // In a production environment, something more 
    // thorough would become necessary. 
    for(var i=3;i&amp;lt;arguments.length;i++){            
      if(incrementor &amp;gt; MAX_ZOOM){
        incrementor = MAX_ZOOM;
      }
      addImageLevel(arguments[i], incrementor);
      incrementor = incrementor+incrementSize;
    }
    &lt;b&gt;imageOverlay.setImageOverlayLevels(levels);&lt;/b&gt;
    imageOverlay.setMaxZoomLevel(MAX_ZOOM);
    imageOverlay.setMinZoomLevel(MIN_ZOOM);    
  }
&lt;/pre&gt;

&lt;p&gt;The function is called with the following arguments:&lt;/p&gt;

&lt;p&gt;Listing 2: &lt;u&gt;Calling the &lt;b&gt;addImageUrls()&lt;/b&gt; function&lt;/u&gt;&lt;/p&gt;
&lt;pre&gt;
	addImageUrls(MAX_ZOOM, MIN_ZOOM, imageOverlay, 
	/* and up to 16 string URLís */)
&lt;/pre&gt;
&lt;p&gt;The values for max and min zoom are used to determine which zoom level to place each image
at, as well as to determine when the image won't be displayed at all (because of the incredible difference between
zoom level 16 and zoom level 1, there is a good chance that the image overlay will only be applicable for a certain range
of values). Next you pass your &lt;i&gt;MQImageOverlay&lt;/i&gt; object, followed by a series of strings containing the URL's of the images.
You can pass in anywhere from 2 to 16 values, ordered from lowest resolution to highest.&lt;/p&gt;  
&lt;p&gt;To close, I've included two screenshots that show &lt;i&gt;MQImageOverlayLevels&lt;/i&gt; in a sample application. Other than setting up the map and collecting
the shape points, all of the code is contained within the sample function in &lt;b&gt;Listing 1&lt;/b&gt;.
For simplicity sake, I created two square images of separate colors.  
When the map is zoomed in beyond the half-way point, the brown image is displayed.
When it is zoomed out, a blue image is displayed.&lt;/p&gt;
&lt;div style="text-align:center"&gt;
	&lt;p&gt;Image 1: &lt;u&gt;The Image, Zoomed In&lt;/u&gt;&lt;/p&gt;
	&lt;img id="vimage_1_20080506" src="http://www.blogsmithmedia.com/devblog.mapquest.com/media/2008/05/zoomedin_sm.jpg" class="border1" /&gt;
&lt;/div&gt;
&lt;div style="text-align:center"&gt;
	&lt;p&gt;Image 2: &lt;u&gt;The Image, Zoomed Out&lt;/u&gt;&lt;/p&gt;
	&lt;img id="vimage_2_20080506" src="http://www.blogsmithmedia.com/devblog.mapquest.com/media/2008/05/zoomedout_sm.jpg" class="border1" /&gt;
&lt;/div&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/05/06/zoom-levels-and-image-overlays/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1183359/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/05/06/zoom-levels-and-image-overlays/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=dGCuNH"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=dGCuNH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=EtmZgh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=EtmZgh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=0z4hSh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=0z4hSh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=06Cwth"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=06Cwth" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MapQuestDevblog/~4/284731173" height="1" width="1"/&gt;</description><category>api</category><category>how-to</category><category>javascript</category><category>overlays</category><category>zoom</category><dc:creator>Joel Tulloch</dc:creator><dc:date>2008-05-06T11:38:00+00:00</dc:date><feedburner:origLink>http://devblog.mapquest.com/2008/05/06/zoom-levels-and-image-overlays/</feedburner:origLink></item><item><title>Meet Us at JavaOne</title><link>http://feeds.feedburner.com/~r/MapQuestDevblog/~3/282148717/</link><guid isPermaLink="false">http://devblog.mapquest.com/2008/05/02/meet-us-at-javaone/</guid><comments>http://devblog.mapquest.com/2008/05/02/meet-us-at-javaone/#comments</comments><description>&lt;p&gt;MapQuest will be in attendance at &lt;a href="http://java.sun.com/javaone/sf/index.jsp"&gt;JavaOne&lt;/a&gt; being held next week at the &lt;a href="http://www.mapquest.com/maps/moscone+center:san+francisco+ca/#a/maps/l:Moscone+Center:747+Howard+St:San+Francisco:CA:94103:US:37.784192:-122.401544:address:/m::12:37.784191:-122.401544:0::/io:0:::::f:EN:M:/e"&gt;Moscone Center in San Francisco, CA&lt;/a&gt;. You can visit us in the Pavilion at booth #1124; a number of the MapQuest Developers will also be running around and attending sessions. Feel free to stop and talk with us.&lt;/p&gt;&lt;p style="clear: both; padding: 8px 0 0 0; height: 2px; font-size: 1px; border: 0; margin: 0; padding: 0;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://devblog.mapquest.com/2008/05/02/meet-us-at-javaone/" rel="bookmark" title="Permanent link to this entry"&gt;Permalink&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://devblog.mapquest.com/forward/1183315/" title="Send this entry to a friend via email"&gt;Email this&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="http://www.technorati.com/cosmos/search.html?rank=&amp;amp;fc=1&amp;amp;url=http://devblog.mapquest.com/2008/05/02/meet-us-at-javaone/" title="Linking Blogs"&gt;Linking&amp;nbsp;Blogs&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=hbIGQH"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=hbIGQH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=lLJXeh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=lLJXeh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/MapQuestDevblog?a=ju7Mwh"&gt;&lt;img src="http://feeds.feedburner.com/~f/MapQuestDevblog?i=ju7Mwh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a