<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://virtualearth.spaces.live.com/mmm2008-05-17_13.22/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fvirtualearth.spaces.live.com%2fcategory%2fDeveloper%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Virtual Earth / Live Maps: Developer</title><description /><link>http://virtualearth.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catDeveloper</link><language>en-US</language><pubDate>Fri, 04 Jul 2008 02:01:08 GMT</pubDate><lastBuildDate>Fri, 04 Jul 2008 02:01:08 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://virtualearth.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>3151506992847969176</live:id><live:alias>virtualearth</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Drawing Circles with the VE API</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!7927.entry</link><description>&lt;p&gt;Last month &lt;a href="http://www.viavirtualearth.com/Wiki/Welcome.ashx"&gt;ViaVirtualEarth launched a developer wiki&lt;/a&gt; with some nice code samples. Via has always been a great resource for the VE developer community with lots of useful code samples. The Wiki pulls new and existing code samples, server config tips and other web dev tips together in a convenient place. steal some code or contribute your best bits.  &lt;p&gt;I like the simple arbitrary circle calculation code I found there. I built this &lt;a href="http://veteam.members.winisp.net/Spaceland/SLCircles.html"&gt;sample application&lt;/a&gt; with it that draws 4 concentric rings around Boston, the innermost of which is filled. It builds a polygon object that can be drawn with Virtual Earth's AddPolygon() method like this: &lt;p&gt;&lt;font face="Courier New"&gt;map.AddPolygon(&lt;br&gt;   AddFilledCircle(&amp;quot;MyCircle&amp;quot;,42.35822, -71.05309, .25, new VEColor(0,0,255,.4), 3));&lt;/font&gt; &lt;p&gt;where the parameters are Name, Latitude, Longitude, radius, color and line width. If you view the source of the &lt;a href="http://veteam.members.winisp.net/Spaceland/SLCircles.html"&gt;page&lt;/a&gt; you will find the AddFilledCircle() method along with AddCircle(). real easy to combine them, modify, or whatever. &lt;p&gt;Since it uses VE's drawing library it will work in IE or Firefox.   &lt;p&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=458 src="http://tk4.storage.msn.com/x1pxOYwqu4SjF5plIqwr5J-vZjAp8CAo4qrRkn3y_1ByOrv2ot2UCyoKswj8kAwbmgEcKg8Y_81tOsPx49ffSyPUqMBDMzEygsd8Kgo6tvG0ruG_5SL_krXu894IERjzRRldD4MIz6qhODsy0C5WhdJuh7Lg2qRYWfP" width=500 border=0&gt;  &lt;p&gt;It will work in 3d mode as well, which currently requires you to be using IE. &lt;p&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=419 src="http://tk4.storage.msn.com/x1pxOYwqu4SjF5plIqwr5J-vZjAp8CAo4qrRkn3y_1ByOoFxR-ozDiSPC2vDVqWqntLamitchvfCYknbDNm17vmzm076JzHQI6D5Ka3mT1psDd9MpnxmfzMgBsuZ447lqCC3BpqqF2nVuXtvZSbf2iXb0xwP7bhXTWJ" width=500 border=0&gt;  &lt;p&gt;Have fun. there's oodles of things that are easier to visualize with rings on a map.&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+Drawing+Circles+with+the+VE+API&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!7927.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!7927.entry</guid><pubDate>Tue, 12 Dec 2006 00:18:16 GMT</pubDate><slash:comments>15</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!7927/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!7927.entry#comment</wfw:comment><dcterms:modified>2006-12-12T00:18:16Z</dcterms:modified></item><item><title>Gaia, MapDotNet, and PietschSoft: dev treats for VE</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!7862.entry</link><description>&lt;p&gt;Here's a roundup of some developer tools and libraries I've been watching &lt;p&gt;First up is &lt;a href="http://www.thecarbonproject.com/gaia.php"&gt;Gaia&lt;/a&gt; from The Carbon Project (not to be confused with &lt;a href="http://gaia.serezhkin.com/"&gt;Gaia opensource project&lt;/a&gt; which was shut down last week and subsequently re-opened this). Carbon's Gaia is a GIS viewer built with Carbon Tools Pro which works with .Net Framework 2.0. The Gaia Source code is included with Carbon Tools. Jeff Harrison of Carbon project emailed last week about some exciting stuff they have in the pipeline, so keep your eye on their web. &lt;p&gt;&lt;a href="http://www.codeplex.com/PietschSoftVE3"&gt;PietschSoft.VE&lt;/a&gt; wraps the Virtual Earth client control in an ASP.NET Server Control, making it easy to use VE in your ASP.net apps without having to twiddle with much javascript. I haven't tried the control yet but I'm looking forward to it. I'll probably wait for the next release to dive in as the website says that as of December 2nd they are working on a re-write that will also support ASP.net's AJAX extensions. That's pretty hot! I'll definitely be keeping an eye on this for updates. &lt;p&gt;And finally, there's &lt;a href="http://www.goisc.com/mdn_server.htm"&gt;MapDotNet Server&lt;/a&gt;, as set of drag n drop controls for Visual Studio. MDN can deal with data in a variety of formats including ESRI Shape files and arcSDE, oracle Spatial and Microsoft SQL Server. You can integrate with VE's client Map Control as you can see in this &lt;a href="http://server1.ischosting.net/Elections/#"&gt;Party Affiliation Map demo&lt;/a&gt;. &lt;p&gt;&lt;a href="http://tk4.storage.msn.com/x1pxOYwqu4SjF5plIqwr5J-vZjAp8CAo4qrRkn3y_1ByOqEnKlYDLuEvNPOARkoASbuv_fY7ob6HWYY3go3-ymL8HT7knZ8CTMdGXAsYtGcuPsuBzCpjh4Hzy4k29xk5wHoG2GeScIVRK-6F44OzVsyasJDxVQaT05e"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=380 src="http://tk4.storage.msn.com/x1pxOYwqu4SjF5plIqwr5J-vZjAp8CAo4qrRkn3y_1ByOpleqbsI64sIU3qiAVn3_2hHyB8WKyAMXwFH2J2YEdkItEfbvXVE85Kb6pFjqfmGCr8CLn_Crh23SOBuZWtZOKOGLB_Q1SiRrZYfZHcU_zOIsmoS9JNZQFK" width=598 border=0&gt;&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+Gaia%2c+MapDotNet%2c+and+PietschSoft%3a+dev+treats+for+VE&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!7862.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!7862.entry</guid><pubDate>Sun, 03 Dec 2006 18:38:19 GMT</pubDate><slash:comments>6</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!7862/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!7862.entry#comment</wfw:comment><dcterms:modified>2006-12-03T18:38:19Z</dcterms:modified></item><item><title>Developing Applications with Virtual Earth</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!7786.entry</link><description>&lt;p&gt;Last week we added an exciting new feature to Virtual Earth - the ability to navigate in 3 dimensions. Not only exciting for our web site visitors at &lt;a href="http://maps.live.com/"&gt;maps.live.com&lt;/a&gt;, but also for our developer community. As I mentioned quickly in an earlier post, the nicest thing for web devs is that they don't need to do any extra work to expose 3d on their site - the latest version of the Virtual Earth map control encompasses 2d and 3d in the same simple javascript API. This article will get you started with some simple sample applications, then point you to a bunch of useful online resources and reference materials. If you have used the VE api in the past, this will be 90% review for you as the public api hasn't changed much at all. &lt;p&gt;&lt;strong&gt;Getting Started Fast&lt;/strong&gt; &lt;p&gt;Here is a &lt;a href="http://www.veteam.members.winisp.net/spaceland/HelloSpaceland.html"&gt;HelloWorld App&lt;/a&gt; showing the minimal code to get Virtual Earth integrated on your website. At first glance, it looks like any other stripped down mapping site... But hold the CTRL key down on your keyboard and press the down arrow cursor key to rotate your view and suddenly you see that it is not like any web map you have used before. View the page source and you'll see how simple it is to implement! The page contains a div tag named 'map' that will be the container for the VE map control. When the body of the page loads, it calls this function to instantiate the map control and assign it to the div:  &lt;p&gt;&lt;font face="Courier New"&gt;function OnPageLoad()&lt;br&gt;{ &lt;br&gt;  map = new VEMap('map');&lt;br&gt;  map.LoadMap(&lt;br&gt;    new VELatLong(42.35822, -71.05309), 19, &lt;br&gt;    'h', false,VEMapMode.Mode3D );&lt;br&gt;}&lt;/font&gt; &lt;p&gt;The only difference you'll see here compared to a previous VE based web page is that final parameter on the LoadMap() telling the map to initialize in 3d view. Omitting this causes the map to startup in 2d view. Regardless of the startup mode, the end user can toggle between 2d and 3d with the buttons on the navigation control. One other obvious difference is that the page now references the version 4 map control, where you used to reference version 3. like this: &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&lt;/font&gt;&lt;font face="Courier New"&gt;http://dev.virtualearth.net/mapcontrol/v4/mapcontrol.js&amp;quot;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/font&gt; &lt;p&gt;&lt;strong&gt;Adding Search and Collection Layers&lt;/strong&gt; &lt;p&gt;&lt;a href="http://www.veteam.members.winisp.net/spaceland/SLCollectionViewer.html"&gt;The next application&lt;/a&gt; adds a search field and a Collection to the map. &lt;a href="http://www.veteam.members.winisp.net/spaceland/SLCollectionViewer.html"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=535 src="http://tk4.storage.msn.com/x1pxOYwqu4SjF5plIqwr5J-vZjAp8CAo4qrRkn3y_1ByOoqfI0tk8Mq4gzvhw2NOCmA0k0pNyrCb2yQTqnTjoo6rqYR4zno26ruHpC1rlpuOJ6kBnaCcSVQSAMSPd2rvKedRZTeKwq9S6fROiW1pdV_Np4QJOueSIxK" width=598 border=0&gt;&lt;/a&gt; &lt;p&gt;The search field lets you specify a city, street address, landmark, post code or whatever to jump to that location. When you hit he 'Find' button, the map's Find() method is invoked like this: &lt;p&gt;&lt;font face="Courier New"&gt;function SearchClick() {&lt;br&gt;  var whereterm = document.getElementById('txtFind').value;&lt;br&gt;  map.Find('', whereterm,1);&lt;br&gt;}&lt;/font&gt; &lt;p&gt;Another way to navigate in this application is by selecting a predetermined landmark from the dropdown list. I've added a few locations in the Seattle area to the list. When you select one, it uses the SetMapView()  method to fly to a location, arriving at the desired location with the Camera parameters set the way I want them for each location in my list. &lt;p&gt;The Select list looks like this: &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;select name=&amp;quot;placelist&amp;quot; id=&amp;quot;placelist&amp;quot; onchange=&amp;quot;javascript:LocChange(this);&amp;quot;&amp;gt;&lt;br&gt;  &amp;lt;option value=&amp;quot;47.62028, -122.34971,267.02, -34.2, 108.47&amp;quot; &amp;gt;Space Needle&amp;lt;/option&amp;gt;&lt;br&gt;  &amp;lt;option value=&amp;quot;47.593151, -122.332194,257.52, -34.025, -89.13&amp;quot; &amp;gt;Stadiums&amp;lt;/option&amp;gt;&lt;br&gt;  &amp;lt;option value=&amp;quot;47.60709, -122.338118,38.7549316,-33.94741,359.606063&amp;quot;&amp;gt;Seattle Art Museum&amp;lt;/option&amp;gt;&lt;br&gt;  &amp;lt;option value=&amp;quot;47.60198501833516, -122.3315970,141.206273,-30.844839,43.668683&amp;quot;&amp;gt;Smith Tower&amp;lt;/option&amp;gt;&lt;br&gt;&amp;lt;/select&amp;gt;&lt;/font&gt; &lt;p&gt;Note that the list's onchange() event is set to call my function to fly to the selected location: &lt;p&gt;&lt;font face="Courier New"&gt;function LocChange(elem) { &lt;br&gt;  var sp = elem.options[elem.selectedIndex].value.split(&amp;quot;,&amp;quot;);&lt;br&gt;  var spec = new VEMapViewSpecification(new VELatLong(sp[0], sp[1]), &lt;br&gt;    null, sp[2], sp[3], sp[4]);&lt;br&gt;  map.SetMapView(spec);&lt;br&gt;}&lt;/font&gt; &lt;p&gt;Lastly, you'll notice that when the map loads, a Collection of pushpins are loaded as a data layer. The VE Control supports adding layers like this in the form of Collections or GeoRSS feeds. Loading a data layer in this manner is extremely easy. In this case, the Collection represents a bunch of condos in Seattle, but by specifying your own Collection ID in the LayerSource property, you can load whatever Collection you wish. &lt;p&gt;&lt;font face="Courier New"&gt;function fnLoadCollection()&lt;br&gt;{&lt;br&gt;  var veLayerSpec = new VELayerSpecification();&lt;br&gt;  veLayerSpec.Type = VELayerType.VECollection;&lt;br&gt;  veLayerSpec.ID = &amp;quot;newlayer&amp;quot;&lt;br&gt;  veLayerSpec.FnCallback = fnLayerLoaded;&lt;br&gt;&lt;br&gt;  &lt;/font&gt;&lt;font face="Courier New"&gt;//substitute &amp;quot;546E7E30AC2C5011!470&amp;quot; for live music venues&lt;br&gt;  veLayerSpec.LayerSource = &amp;quot;622D5439FD69CA7E!361&amp;quot; ; &lt;br&gt;  map.AddLayer(veLayerSpec); &lt;br&gt;}&lt;/font&gt; &lt;p&gt;Creating a Collection to use in your applications is simple as well. &lt;a href="http://www.passthepoi.com/?page_id=7"&gt;Here is a tutorial&lt;/a&gt; to get you started building a Collection if you've never tried it out. &lt;p&gt;&lt;strong&gt;More Developer Resources&lt;/strong&gt; &lt;p&gt;After playing around with these samples, you'll probably want to push on to create more complex real world applications. or mashups or whatever it is you do. Here are some online resources to feast on: &lt;p&gt;&lt;a href="http://dev.live.com/virtualearth/sdk/"&gt;Virtual Earth Interactive SDK&lt;/a&gt; - Easily the slickest and most useful means of exploring an API I have ever seen. On the left are a series of tasks - Select the one that you want to learn, watch it execute, then use the Source tab to steal the code and the reference tab to learn more by reading the traditional docs for the methods used.  &lt;p&gt;&lt;a href="http://dev.live.com/virtualearth/"&gt;Virtual Earth Developer Center&lt;/a&gt; - Features news, blogs, articles, tutorials...  &lt;p&gt;&lt;a href="http://viavirtualearth.com/Wiki/AllPages.aspx"&gt;Via Virtual Earth Wiki&lt;/a&gt; - Neil and the gang at Via have added a new Wiki with sample snippets to their library of resources for VE developers. Grab some useful code (like this &lt;a href="http://viavirtualearth.com/Wiki/Draw+a+circle.ashx"&gt;simple circle drawing utility&lt;/a&gt;) or contribute your own gems. &lt;p&gt;Have fun!&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+Developing+Applications+with+Virtual+Earth&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!7786.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!7786.entry</guid><pubDate>Tue, 14 Nov 2006 04:04:31 GMT</pubDate><slash:comments>19</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!7786/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!7786.entry#comment</wfw:comment><dcterms:modified>2006-11-14T04:04:31Z</dcterms:modified></item><item><title>Happy v1 GeoRSS!</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!4174.entry</link><description>&lt;p&gt;The V1 spec for GeoRSS is out, coincidentally just about a year from its inception. GeoRSS is an Extension of RSS that allows the author to encode geographic information in the feed, from simple points to more complex geometry. From Raj Singh of OGC: &lt;p&gt;&lt;em&gt;Barely a year after embarking on this effort, we are releasing GeoRSS version 1:&lt;br&gt;&lt;/em&gt;&lt;a href="http://www.georss.org/1/"&gt;http://www.georss.org/1/&lt;/a&gt; &lt;p&gt;Congrats to everyone who worked so hard to make v1 a reality!  &lt;p&gt;If you're interested in using GeoRSS in your applications, read about Virtual Earth's support for the standard in our &lt;a href="http://dev.live.com/virtualearth/sdk/"&gt;Interactive SDK&lt;/a&gt;. Open the 'Use Pushpin Layers' folder to get started quickly. &lt;p&gt;&lt;a href="http://tk4.storage.msn.com/x1pxOYwqu4SjF5plIqwr5J-vZjAp8CAo4qrRkn3y_1ByOq0nNpGgy7B2kdOLyg4-8m4W3nJtfKNCh1GJ0odh5HnGy5du9NHJwLvbRBZVdffLhcYGeJurPGiwAg4D6N8BFKvVAm9wCB4s40wEH9OofRCSXErJjhYystN"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=166 src="http://tk4.storage.msn.com/x1pxOYwqu4SjF5plIqwr5J-vZjAp8CAo4qrRkn3y_1ByOpbM7j-skQ4YDLTiDZxkMF7xff3fCbYfkiu3g27oz_Z_LcEvOai057gncOW_mlhW-7cM__dXQnPozNAlLO6_b_Cnwjblg49FoOMS-XwMXpKTJ9if9Bl0_sE" width=240 border=0&gt;&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+Happy+v1+GeoRSS!&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!4174.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!4174.entry</guid><pubDate>Thu, 14 Sep 2006 15:57:40 GMT</pubDate><slash:comments>17</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!4174/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!4174.entry#comment</wfw:comment><dcterms:modified>2006-09-14T15:57:40Z</dcterms:modified></item><item><title>MapCruncher now supported in Virtual Earth map Control</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!4120.entry</link><description>&lt;div&gt;&lt;a href="http://research.microsoft.com/mapcruncher/"&gt;MapCruncher &lt;/a&gt;is a tool from Microsoft Research that lets you take any map (a pdf, jpg, png, eps...) and turn it into an interactive Map layer in Virtual Earth. If you aren't familiar with MC, read &lt;a href="http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!1364.entry"&gt;this article that i posted when it first launched&lt;/a&gt; in May before you read on here. without Cruncher, this would be tedious manual labor - but with the help of MC, its actually fun to georegister your map and render your own custom map layers. &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Previously, the Research team had to hack up our V3 mapcontrol to get it to support Cruncher layers. If you were an app developer and wanted to integrate Cruncher layers, you needed to use the hacked control instead of the officially supported control. In V4 of our MapControl, released yesterday, we now have integrated Cruncher support directly! no need to worry about your app getting out of synch with the official VE API. In addition to direct support for Crunched layers, we've worked with the Cruncher developers in research to expose properties to control transparency and Zorder of your crunched layers. What this all boils down to is that its now easier than ever to integrate custom map layers from raster imagery into your applications. &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Seeing it in action is the best way to appreciate the simplicity. Jaya is one of the engineers who worked on the integration - She has a really &lt;a href="http://blogs.msdn.com/jbhatia/"&gt;nice tutorial&lt;/a&gt; on her blog explaining the steps to Crunch a map layer and integrate it in a web app. You can see her &lt;a href="http://www.jbhatia1.members.winisp.net/SeattleTransit.htm"&gt;&lt;strong&gt;tutorial app in action here&lt;/strong&gt;&lt;/a&gt;, a mashup of &lt;a href="http://transit.metrokc.gov/tops/bus/area_images/MetroTransMap.pdf"&gt;this Seattle Bus Transit Map &lt;/a&gt;and Virtual Earth base maps. The code is pretty easy to follow - here's the crux of it all:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;var tileSourceSpec = new VETileSourceSpecification();&lt;br&gt;tileSourceSpec.ID = “SeattleTransit”&lt;br&gt;tileSourceSpec.TileSource = &lt;/font&gt;&lt;a href="http://jbhatia1.members.winisp.net/SeattleTransit/%4.png;"&gt;&lt;font face="Courier New" color="#0033cc" size=2&gt;&lt;u&gt;http://jbhatia1.members.winisp.net/SeattleTransit/%4.png;&lt;/u&gt;&lt;/font&gt;&lt;/a&gt;&lt;br&gt;&lt;font face="Courier New" size=2&gt;tileSourceSpec.NumServers = 1;&lt;br&gt;tileSourceSpec.MinZoom = 2;&lt;br&gt;tileSourceSpec.MaxZoom = 16; &lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New" size=2&gt;map.AddTileSource(tileSourceSpec);&lt;br&gt;var tileLayer = new VELayerSpecification(VELayerType.VETileSource,&amp;quot;1&amp;quot;, &amp;quot;SeattleTransit&amp;quot;);&lt;br&gt;tileLayer.zIndex = 100;&lt;br&gt;tileLayer.Opacity=0.6; &lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New" size=2&gt;map.AddLayer(tileLayer);&lt;/font&gt;
&lt;p&gt;&lt;font face="Geneva, Arial, Sans-serif" color="#000000" size=2&gt;You instantiate a Tile Source and set its properties to define where your crunched layer is hosted and how many layers you rendered. Then add it as a Layer to the Map Control. If you've worked with GeoRSS layers or Collections layers already with the VE map control, you'll see this is exactly the same. &lt;/font&gt;
&lt;p&gt;&lt;font face=Arial size=2&gt;&lt;font color="#000000"&gt;If you want to learn more, After Jaya's blog I'd suggest having a look at the latest rev of the &lt;/font&gt;&lt;a href="http://dev.live.com/virtualearth/sdk/"&gt;&lt;font color="#000000"&gt;VE SDK&lt;/font&gt;&lt;/a&gt;&lt;font color="#000000"&gt; Where you'll find all the details on what you just read, as well as all the goods in the VE API. and if you haven't tried the Interactive SDK before, your in for a real nerdy delight - Demo, reference and samples all seamlessly integrated.&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;table cellspacing="0" border="0"&gt;&lt;tr height="8"&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;p&gt;&lt;a href="http://tkfiles.storage.live.com&amp;#47;y1pZhpZb4BrBN_IX2S7aWmyVmpnzIDPzGJ71ui7_BD343oUE8h7S1sFrg"&gt;&lt;img src="http://storage.live.com&amp;#47;items&amp;#47;2BBC66E99FDCDB98&amp;#33;4121&amp;#58;thumbnail" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+MapCruncher+now+supported+in+Virtual+Earth+map+Control&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!4120.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!4120.entry</guid><pubDate>Wed, 13 Sep 2006 05:54:06 GMT</pubDate><slash:comments>20</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!4120/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!4120.entry#comment</wfw:comment><dcterms:modified>2006-09-13T05:57:11Z</dcterms:modified></item><item><title>Add 400 Million contacts to your Web application or mashup</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!3800.entry</link><description>&lt;div&gt;A &lt;a href="http://dev.live.com/contactsgadget/"&gt;powerful new component for web develpers&lt;/a&gt; appeared at the live.com developer site this week. It allows a web developer to integrate Live Contacts into their web applications with just a bit of javascript! That's a lot of value per line of code. Interesting to read through &lt;a href="http://blogs.msdn.com/dthorpe/archive/2006/08/18/706422.aspx"&gt;Danny Thorpe's blog&lt;/a&gt; to learn about the clean and safe cross domain scripting technique to share data securely across domains. Visitors to your site can then sign in with their passport/LiveId and access their contact list in the context of your application. From simple form fills to elaborate collaboration scenarios suddenly become realistic without the overhead of building out your own contact management system. &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;and of course, I love the fact that the &lt;a href="http://dev.live.com/mashups/"&gt;two samples included in the SDK&lt;/a&gt; both integrate Live Contacts with Virtual Earth maps. in the basic app, you can sign in and select a bunch of your contacts to appear on the map. in the second, more complex example, you can organize a party or event featuring custom directions for each contact. The &lt;a href="http://dev.live.com/contactsgadget/getstarted.aspx"&gt;Getting Started &lt;/a&gt;page looks makes it look pretty easy to implement. &lt;/div&gt;&lt;div&gt;&lt;table cellspacing="0" border="0"&gt;&lt;tr height="8"&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;p&gt;&lt;a href="http://tkfiles.storage.live.com&amp;#47;y1paEvSVK0ilf_g_mMBoEupdAs05MIqQuiW1ZwlTNCS2o5Wwlo2bFQ2RA"&gt;&lt;img src="http://storage.live.com&amp;#47;items&amp;#47;2BBC66E99FDCDB98&amp;#33;3801&amp;#58;thumbnail" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+Add+400+Million+contacts+to+your+Web+application+or+mashup&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!3800.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!3800.entry</guid><pubDate>Wed, 23 Aug 2006 06:08:00 GMT</pubDate><slash:comments>19</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!3800/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!3800.entry#comment</wfw:comment><dcterms:modified>2006-08-23T06:11:01Z</dcterms:modified></item><item><title>Tracert Map: View the IP network path on a map</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!2957.entry</link><description>&lt;div&gt;&lt;a href="http://www.codeproject.com/useritems/TracertMap.asp"&gt;&lt;strong&gt;This is quite a nicely done tutorial&lt;/strong&gt;&lt;/a&gt;, not just on the basics of embedding Virtual Earth in a web page, but also on how to embed a web page in a winform app. It covers how to do IP address geocoding in your applications, and uses VE's polyline API to visualize the tracert path.&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+Tracert+Map%3a+View+the+IP+network+path+on+a+map&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!2957.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!2957.entry</guid><pubDate>Mon, 10 Jul 2006 15:36:32 GMT</pubDate><slash:comments>11</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!2957/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!2957.entry#comment</wfw:comment><dcterms:modified>2006-07-10T15:36:32Z</dcterms:modified></item><item><title>International Geocoding - A gift for the mashers</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!1588.entry</link><description>&lt;div&gt;
&lt;p&gt;&lt;span style="color:windowtext;font-family:Arial"&gt;&lt;font size=2&gt;I hate seeing all these mashups that don’t allow the user to enter a street address&lt;span style=""&gt;&lt;font face=Arial&gt;  &lt;/font&gt;&lt;/span&gt;or other location to jump somewhere. Sometimes interactively navigating to a location is OK and even desirable, but most of the time I want to jump right to a particular address. Microsoft and Mapquest have had API’s for developers to do these types of address and place lookups for years, but a lot of developers didn’t want to write server side code to access them as either their environment didn’t support it, or they just didn’t want to write the extra code. Which is understandable – a lot of Mashups are ‘quick n dirty’ and their primary benefit is the uniqueness the developer brings to the application by overlaying some data. Mashup developers rarely want to waste cycles with mapping and location infrastructure. &lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:windowtext;font-family:Arial"&gt;&lt;font size=2&gt;With the latest release of the Virtual Earth API we’ve added Street Geocoding, Place Finding, Business Search and routing to the client side API. No need to write any server code to add these features into your applications, so no more excuses for applications that don’t let the user do searching :-) And it really couldn’t be any easier! After instantiating the map control as you normally would, just call the find method like this:&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:windowtext;font-family:Arial"&gt;&lt;font size=2&gt;map.Find(‘Hotels’, ‘1500 POLK ST, SAN FRANCISCO, CA’);&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:windowtext;font-family:Arial"&gt;&lt;font size=2&gt;Done. The first parameter is a yellow page category or business name. the second is an Address, Landmark, City, Postcode, etc… You an include one, the other or both as you see above. And of course this means that you can wow find street addresses in your applications internationally – Everywhere Windows Live Local can find an address, so can your applications.&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:windowtext;font-family:Arial"&gt;&lt;font size=2&gt;Here is a &lt;/font&gt;&lt;a href="http://www.passthepoi.com/apps/VEGeoRoute.html"&gt;&lt;u&gt;&lt;font color="#800080" size=2&gt;simple sample application&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font size=2&gt; I put together to show how to do Geocoding and Driving directions. View source on the page to see how it works. Right clicking on the map, in concert with the radio buttons on the right, is how you set your route waypoints.&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:windowtext;font-family:Arial"&gt;&lt;font size=2&gt;To learn more about the VE API, your first stop should be the &lt;/font&gt;&lt;a href="http://dev.live.com/virtualearth/sdk/"&gt;&lt;u&gt;&lt;font color="#0000ff" size=2&gt;online interactive Documentation&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font size=2&gt;. Caleb Thompson, our lead doc writer, came up with this totally unique format. It features the traditional reference section, but adds the interactive SDK where you can choose a task (How do I generate a route? for instance), see it run, then clip the code you need to implement it in your own app. real slick!!&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table cellspacing="0" border="0"&gt;&lt;tr height="8"&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;p&gt;&lt;a href="http://tkfiles.storage.live.com&amp;#47;y1p3W5JuzTp8J6RFXDMhN7wWhAzecMTzePCyup8LtFUGvRv3nxwXiy-GA"&gt;&lt;img src="http://storage.live.com&amp;#47;items&amp;#47;2BBC66E99FDCDB98&amp;#33;1589&amp;#58;thumbnail" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+International+Geocoding+-+A+gift+for+the+mashers&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!1588.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!1588.entry</guid><pubDate>Mon, 05 Jun 2006 05:52:14 GMT</pubDate><slash:comments>9</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!1588/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!1588.entry#comment</wfw:comment><dcterms:modified>2006-06-05T05:52:14Z</dcterms:modified></item><item><title>Mashups vs. Mixins</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!1445.entry</link><description>&lt;div&gt;In my last post I was ruminating on a comment from Stefan Geens of the Ogle Earth blog. He states the new Collections feature in Live Local is easy enough that now even his mom can make a mashup. I went and talked to our software architect, Gur, about that this afternoon. He refers to WLL Collections as Mixins as opposed to mashups when displayed and used within the  WLL app. If you use a Collection with our Map Control in your own application, that would be a mashup. OK, I'll buy it. I think I like 'Instant mashed' better than Mixin though ;-) &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Here is a look at some examples to help this all make sense.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;This first link opens Windows Live Local with a Collection that one of our users created that displays Traffic Cameras along major roads in Charlotte, North Carolina:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://local.live.com/?v=2&amp;amp;cid=E267785CB39ADD97!298"&gt;http://local.live.com/?v=2&amp;amp;cid=E267785CB39ADD97!298&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Gur would call this a Mixin - User Generated content, displayed directly in WLL. I'm stickin with Instant Mashed. Either way, the important part is the CID parameter which uniquely identifies this users collection. No code required of course.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Now here is the same collection in a simple javascript application I created:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://passthepoi.com/apps/CollectionViewer.html"&gt;http://passthepoi.com/apps/CollectionViewer.html&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Most would call this a mashup - User generated content from one web service being combined with some other web service. Here the developer has complete control over their application and it's Interface. To load a WLL Collection in your own javascript based app is brain-dead easy. You can thank &lt;a href="http://blogs.msdn.com/cthota/default.aspx"&gt;Chandu&lt;/a&gt; and his team for this - they added a method to the VE map control to load a Collection as a layer like this:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New, Courier, Monospace"&gt;   var veLayerSpec = new VELayerSpecification();&lt;br&gt;   veLayerSpec.Type = VELayerType.VECollection;&lt;br&gt;   veLayerSpec.ID = &amp;quot;MYLAYER&amp;quot;;&lt;br&gt;   veLayerSpec.FnCallback = fnLayerLoaded;&lt;br&gt;   veLayerSpec.LayerSource = &amp;quot;E267785CB39ADD97!298&amp;quot;;&lt;br&gt;   map.AddLayer(veLayerSpec);&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Take a look at the LayerSource Property - Notice the value is simply the Unique CID used on the WLL URL above! simple. A pushpin is automatically created for each element of the Collection, and if you want to get at the data of the Collection, just provide a callback and it'll be passed the data so you can display it on the page or whatever you need to do with it.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Stands to reason that you should be able to do this with any WLL Collection. Here is a CID for a Collection of Videos for Beach Neighborhoods from TurnHere.com - C87924605CB4D87E!101  using it, we can create a Mixin that shows the videos and surf shops near each beach location.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://local.live.com/default.aspx?v=2&amp;amp;ss=surf shops&amp;amp;cp=32.79435~-117.25631&amp;amp;style=r&amp;amp;lvl=11&amp;amp;scene=3695086&amp;amp;cid=C87924605CB4D87E!101"&gt;http://local.live.com/default.aspx?v=2&amp;amp;ss=surf%20shops&amp;amp;cp=32.79435~-117.25631&amp;amp;style=r&amp;amp;lvl=11&amp;amp;scene=3695086&amp;amp;cid=C87924605CB4D87E!101&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; All we've done is updated the CID parameter, and added a new parameter to add an autorefreshing layer of Surf Shops from WLL's Yellow Page directory.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;And here's the Beach Collection in a classic mashup:&lt;/div&gt;
&lt;div&gt;&lt;a href="http://passthepoi.com/apps/CollectionViewer2.html"&gt;http://passthepoi.com/apps/CollectionViewer2.html&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;all I did here was change one line in the first application to reference the Beach Collections's CID.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;If your not a programmer, but want to create mashups like Stefan's mom, Learn how to create a Collection with this &lt;a href="http://www.passthepoi.com/?page_id=7"&gt;simple tutorial&lt;/a&gt;, then read about all of the &lt;a href="http://local.live.com/help/en-gb/URLAPI.htm"&gt;URL parameters &lt;/a&gt;you have at your disposal (like CID=) and start mixing.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;And if you're a javascript coder, flex your ajax muscle and check out the &lt;a href="http://dev.live.com/virtualearth/sdk/"&gt;V3 Virtual Earth SDK&lt;/a&gt;. It of course supports Collections, but that's just the tip of the iceberg.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;table cellspacing="0" border="0"&gt;&lt;tr height="8"&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;p&gt;&lt;a href="http://tkfiles.storage.live.com&amp;#47;y1pktTcL-wm954da94UBGxbqGGwBfLtyGucm8ug3Sh4LrEKd5cBbinINw"&gt;&lt;img src="http://storage.live.com&amp;#47;items&amp;#47;2BBC66E99FDCDB98&amp;#33;1446&amp;#58;thumbnail" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+Mashups+vs.+Mixins&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!1445.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!1445.entry</guid><pubDate>Fri, 26 May 2006 06:11:55 GMT</pubDate><slash:comments>26</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!1445/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!1445.entry#comment</wfw:comment><dcterms:modified>2006-05-26T06:45:19Z</dcterms:modified></item><item><title>Zillow Integrates VIrtual Earth into their website</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!1153.entry</link><description>&lt;div&gt;Zillow.com was already a very cool site for browsing property values, comps, and other home related information, and now they've &lt;a href="http://www.zillow.com/howto/BirdsEye.z"&gt;&lt;strong&gt;added Birds Eye Imagery &lt;/strong&gt;&lt;/a&gt;to their application making the experience even more powerful. This is a great example of how the Virtual Earth platform can be used by third party developers to include unique capabilities into their applications. Once the Virtual Earth map control is integrated into a website, the end user can rotate their view North, South, East, and West to examine a property, unlike other mapping platforms that only provide a single look straight down at the roof of a house. &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;So far, Zillow is only exposing Birds Eye imagery in a small handful of cities that Virtual Earth supports, but they have announced that they will turn support on for other cities in the near future. &lt;a href="http://www.zillow.com/"&gt;Go try it out &lt;/a&gt;- its free and doesn't require a signup.&lt;/div&gt;&lt;div&gt;&lt;table cellspacing="0" border="0"&gt;&lt;tr height="8"&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;p&gt;&lt;a href="http://tkfiles.storage.live.com&amp;#47;y1pIFqX7EcXCccpY8IMESKN9XTlMjC2T5OHXVM0v-7UAeSgV-FYziOz4g"&gt;&lt;img src="http://storage.live.com&amp;#47;items&amp;#47;2BBC66E99FDCDB98&amp;#33;1154&amp;#58;thumbnail" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+Zillow+Integrates+VIrtual+Earth+into+their+website&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!1153.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!1153.entry</guid><pubDate>Thu, 13 Apr 2006 20:54:14 GMT</pubDate><slash:comments>17</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!1153/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!1153.entry#comment</wfw:comment><dcterms:modified>2006-04-13T20:57:21Z</dcterms:modified></item><item><title>VE Tutorial on XML.com</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!645.entry</link><description>&lt;div&gt;&lt;font size=3&gt;Many of you may know Dare Obasanjo from his &lt;/font&gt;&lt;a href="http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=0e842e68-0eb2-47d3-8b80-e5e052c13b83"&gt;&lt;font size=3&gt;25 Hours a Day&lt;/font&gt;&lt;/a&gt;&lt;font size=3&gt; Weblog. This week &lt;a href="http://www.xml.com/pub/a/2006/03/01/seattle-movie-finder-AJAX-REST-virtual-earth-mashup.html"&gt;his tutorial&lt;/a&gt; illustrating how to use Ajax and REST with Virtual Earth to create a local movie finder was published on O'Reilly's XML.com. There's some good technique illustrated here that I think you'll find easy to adapt to other data sources.&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+VE+Tutorial+on+XML.com&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!645.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!645.entry</guid><pubDate>Fri, 03 Mar 2006 03:49:59 GMT</pubDate><slash:comments>14</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!645/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!645.entry#comment</wfw:comment><dcterms:modified>2006-03-03T03:49:59Z</dcterms:modified></item><item><title>Mashing Property Values with VE</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!553.entry</link><description>&lt;div&gt;&lt;font size=3&gt;If you followed my &lt;a href="http://spaces.msn.com/virtualearth/blog/cns!2BBC66E99FDCDB98!536.entry"&gt;three part tutorial &lt;/a&gt;intro to AJAX and Virtual Earth, you know we left off after getting the basic framework for AJAX calls in place and hooking up MWS to the back end to do reverse geocoding. Here in the special Part 4 bonus, we'll integrate the &lt;a href="http://www.extendthereach.com/products/allocate.srct"&gt;Allocate &lt;/a&gt;&lt;/font&gt;&lt;font size=3&gt;&lt;a href="http://www.extendthereach.com/products/allocate.srct"&gt;Web Service &lt;/a&gt;from SRC to get property values. We'll also turn on Birds Eye imagery in the application. Birds Eye, Property values and Reverse geocoding are a GREAT combination - Point at a building, get it's address and it's approximate value all in one shot. &lt;a href="http://www.myfavoriteplaceonearth.com/part4.html"&gt;&lt;strong&gt;You can try the completed application out here.&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;Turning Birds Eye imagery on in your application is pretty easy. First you need to put a server-side page on your site to handle proxying calls to check for Birds Eye availability (the next version of the VE api will eliminate this requirement). The code is simple and can be grabbed &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/VEMCSDK/HTML/ProxyPages.asp"&gt;right out of our SDK&lt;/a&gt;. It is presented in C#, but is easily adapted to whatever server side code you are running on your website.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;Once the proxy URL is in place, you need to tell the VE Map Control where to find it. You do this when initializing the control by setting these 2 parameters:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;params.obliqueEnabled = true; &lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;params.obliqueUrl =  &amp;quot;http://www.myfavoriteplaceonearth.com/imagery.aspx&amp;quot;;&lt;span style="font-size:10pt;font-family:Arial"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;Of course substitute your own path in the obliqueURL parameter. That's all there is to it! the MapControl will now check for Birds Eye imagery everytime the map view changes.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;Next we'll use the Allocate Web Service to get aggregated property values and other real estate stats. We don't need to modify our Javascript code at all - we already make a call to the server when the link below the map is clicked. We'll just modify our server page to Query Allocate and append the results to the existing output stream.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;First, we make a call to getDemographics() to retrieve the Housing stats:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New, Courier, Monospace" color="#008000" size=2&gt;
&lt;p&gt;//Lookup Housing Statistics for this location&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt; housingStats = getDemographics(Y, X);&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font color="#008000"&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;//Append the Housing Info to our output string.&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;sb.Append(&amp;quot;&amp;lt;br&amp;gt;&amp;lt;strong&amp;gt;Real Estate Stats (.5 mile buffer)&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;quot; + housingStats);&lt;/font&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;Calling the Allocate Web Service and parsing the results is handled in getDemographics()&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;font color="#0000ff"&gt; 
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt; &lt;font color="#0000ff"&gt;string&lt;/font&gt; getDemographics(&lt;font color="#0000ff"&gt;double&lt;/font&gt; Y, &lt;font color="#0000ff"&gt;double&lt;/font&gt; X) &lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;{&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;font color="#0000ff"&gt;   string&lt;/font&gt; strResult = &amp;quot;&amp;quot;;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;font color="#0000ff"&gt;   string&lt;/font&gt; demoghtm = &amp;quot;&amp;quot;;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   WebRequest req;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   System.IO.Stream ReceiveStream;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   System.Text.Encoding encode;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   System.IO.StreamReader sr;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   WebResponse result;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;font color="#0000ff"&gt;   string&lt;/font&gt; path = &amp;quot;&amp;quot;;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;font color="#0000ff"&gt;   try&lt;/font&gt; &lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   {&lt;/font&gt;
&lt;p&gt;&lt;font color="#008000"&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;      //Build a URL to the SRC Web Service. Pass the coordinate and Radius of the query&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;path = &amp;quot;http://polaris.extendthereach.com/virtualearth/allocate.asp?rpt=2&amp;amp;rx=&amp;quot; + X + &amp;quot;&amp;amp;ry=&amp;quot; + Y + &amp;quot;&amp;amp;rr=.5&amp;quot;;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;req = WebRequest.Create(path);&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;/font&gt;
&lt;p&gt;&lt;font color="#008000"&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;      //Read the response from the Web service into a string&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;result = req.GetResponse();&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;ReceiveStream = result.GetResponseStream();&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;encode = System.Text.Encoding.GetEncoding(&amp;quot;utf-8&amp;quot;);&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;sr = &lt;font color="#0000ff"&gt;new&lt;/font&gt; System.IO.StreamReader(ReceiveStream, encode);&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;strResult = sr.ReadToEnd();&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;result.Close();&lt;/font&gt;
&lt;p&gt;&lt;font color="#008000"&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;      //The Web Service has responded with an XML document.&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font color="#008000"&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;      //Grab the fields of info we care about and report it to the user&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;demoghtm += getField(strResult,&amp;quot;Housing Units&amp;quot;);&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;demoghtm += getField(strResult,&amp;quot;Owner Occupied Units&amp;quot;);&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;demoghtm += getField(strResult,&amp;quot;Renter Occupied Units&amp;quot;);&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;demoghtm += getField(strResult,&amp;quot;Vacant Housing Units&amp;quot;);&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;demoghtm += getField(strResult,&amp;quot;Median Housing Value&amp;quot;);&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;demoghtm += getField(strResult,&amp;quot;Median Cash Rent&amp;quot;);&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;   &lt;/font&gt;}&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;font color="#0000ff"&gt;   catch&lt;/font&gt; (Exception ex) &lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   {&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;font color="#008000"&gt;      &lt;/font&gt;demoghtm = &amp;quot;Sorry, an error has occured while fetching real estate stats.&amp;quot;;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   }&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;font color="#0000ff"&gt;   return&lt;/font&gt; demoghtm;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;}&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;and lastly, a quick n dirty function to grab the appropriate values from the returned XML&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;font color="#0000ff"&gt; 
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt; &lt;font color="#0000ff"&gt;string&lt;/font&gt; getField(&lt;font color="#0000ff"&gt;string&lt;/font&gt; inline, &lt;font color="#0000ff"&gt;string&lt;/font&gt; key) &lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;{&lt;/font&gt;
&lt;p&gt;&lt;font color="#008000"&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   //Could do some fancy XML parsing, but our needs are pretty basic.&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font color="#008000"&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   //simple old school parsing will work fine here.&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;font color="#0000ff"&gt;   string&lt;/font&gt; result=&amp;quot;&amp;quot;;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;font color="#0000ff"&gt;   int&lt;/font&gt; posit;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;font color="#0000ff"&gt;   int&lt;/font&gt; posit2;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   posit = inline.IndexOf(key);&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   posit = inline.IndexOf(&amp;quot;&amp;lt;Value&amp;gt;&amp;quot;,posit) + 7;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   posit2 = inline.IndexOf(&amp;quot;&amp;lt;/Value&amp;gt;&amp;quot;,posit);&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;   result += key + &amp;quot;: &amp;quot; + inline.Substring(posit,posit2-posit)+ &amp;quot;&amp;lt;br&amp;gt;&amp;quot;;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;font color="#0000ff"&gt;   return&lt;/font&gt; result;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;}&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;That should do it. Each Ajax call now passes the current map center coordinate out, and the response is the corresponding Street address and housing information for the coordinate.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;That wraps up this tutorial series. Let me know in the comments if you have suggestions for other tutorials and I'll see what I can get together.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;table cellspacing="0" border="0"&gt;&lt;tr height="8"&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;p&gt;&lt;a href="http://tkfiles.storage.live.com&amp;#47;y1p2B954PlpMHi3u-iKmnCFIqvu-4UM7ky5HZYJn9epARUedgyVHPJMFA"&gt;&lt;img src="http://storage.live.com&amp;#47;items&amp;#47;2BBC66E99FDCDB98&amp;#33;554&amp;#58;thumbnail" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+Mashing+Property+Values+with+VE&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!553.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!553.entry</guid><pubDate>Wed, 15 Feb 2006 23:16:07 GMT</pubDate><slash:comments>12</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!553/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!553.entry#comment</wfw:comment><dcterms:modified>2006-02-15T23:16:07Z</dcterms:modified></item><item><title>Tutorial Part 3 - AJAX and Virtual Earth</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!536.entry</link><description>&lt;div&gt;
&lt;p&gt;&lt;font face=Arial&gt;&lt;span style="font-size:12pt;font-family:Arial"&gt;&lt;a href="http://spaces.msn.com/virtualearth/blog/cns!2BBC66E99FDCDB98!531.entry"&gt;&lt;strong&gt;In part 2&lt;/strong&gt;&lt;/a&gt; of this tutorial we got the AJAX stuff working, but all the app did was echo back it's input - not terribly exciting. Today we’ll add some simple code to the server component to make a call to the MapPoint Web Service (MWS) to reverse-geocode the coordinate passed in. Reverse geocoding is taking a point on Earth and determining what the corresponding Street Address, City, County, etc… are. Start by &lt;a href="http://www.myfavoriteplaceonearth.com/part2.html"&gt;trying the application out&lt;/a&gt;. When you click the link below the map, notice that you are now presented the approximate address of the center marker on the map.&lt;/span&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face=Arial&gt;&lt;span style="font-size:12pt;font-family:Arial"&gt;&lt;/span&gt;&lt;/font&gt; 
&lt;p&gt;&lt;font face=Arial&gt;&lt;span style="font-size:12pt;font-family:Arial"&gt;[&lt;em&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/em&gt; there will be a part 4 of the tutorial a well - I've had some requests from developers to add other server side functionality and turn on birds eye view. I'll add that in the next day or 2]&lt;/span&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face=Arial&gt;&lt;span style="font-size:12pt;font-family:Arial"&gt; &lt;/span&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face=Arial&gt;&lt;span style="font-size:12pt;font-family:Arial"&gt;There aren’t any changes in the client side JavaScript since part 2 – All of the changes are in the Server component. &lt;a href="http://www.myfavoriteplaceonearth.com/ajaxtutorial/getinfofromserver2.aspx.zip"&gt;Download the C# source here&lt;/a&gt;. You’ll recall from part 2 that the server is responding with javascript telling the browser to present a returned string as the HTML for a DIV tag. We’ve added a function &lt;font face="Courier New, Courier, Monospace"&gt;GetLocationInfo()&lt;/font&gt; that makes the call to MWS and gets the street address. Lets look at that code.&lt;/span&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face=Arial&gt;&lt;span style="font-size:12pt;font-family:Arial"&gt; &lt;/span&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face=Arial&gt;&lt;span style="font-size:12pt;font-family:Arial"&gt;First up, we get a reference to MWS's Find Service. you'll need to fill in your own MWS credentials if building this on your own, which you &lt;a href="https://mappoint-css.partners.extranet.microsoft.com/MwsSignup/Eval2.aspx"&gt;can do here&lt;/a&gt;.&lt;/span&gt;&lt;/font&gt;
&lt;p&gt;&lt;span style="font-size:12pt;font-family:Arial"&gt;&lt;/span&gt; &lt;font face=Arial&gt;&lt;span style="font-size:12pt;font-family:Arial"&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;FindServiceSoap findService = &lt;font color="#0000ff"&gt;new&lt;/font&gt; FindServiceSoap();&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;findService.Credentials = &lt;font color="#0000ff"&gt;new&lt;/font&gt; System.Net.NetworkCredential(&amp;quot;DEVID&amp;quot;,&amp;quot;DEVPW&amp;quot;);&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;/font&gt; 
&lt;p&gt;Next up, Create a LatLong object corresponding to the coordinate passed in from the client:
&lt;p&gt; 
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;LatLong ll = &lt;font color="#0000ff"&gt;new&lt;/font&gt; LatLong();&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;ll.Latitude = Y;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;ll.Longitude = X;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;&lt;/font&gt; 
&lt;p&gt;We need to tell MWS that we want full street address information returned, not just city state and postcode:
&lt;p&gt; 
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;GetInfoOptions myOptions = &lt;font color="#0000ff"&gt;new&lt;/font&gt; GetInfoOptions();&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;myOptions.IncludeAllEntityTypes = &lt;font color="#0000ff"&gt;true&lt;/font&gt;;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;myOptions.IncludeAddresses = &lt;font color="#0000ff"&gt;true&lt;/font&gt;;&lt;/font&gt;
&lt;p&gt; 
&lt;p&gt;Finrally, we make the call to MWS to do the acual Reverse Geocoding. To keep things simple, we'll return the DIsplay text for the first candidate returned, since they are ordered from best match to least exact match.
&lt;p&gt; 
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;Location[] locs;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;locs = findService.GetLocationInfo(ll, &amp;quot;MapPoint.NA&amp;quot;, myOptions);&lt;/font&gt;
&lt;p&gt;
&lt;p&gt;&lt;font size=2&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font color="#008000"&gt;&lt;/font&gt;&lt;font size=2&gt;RevGeoResult = locs[0].Entity.DisplayName;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt; 
&lt;p&gt;That does it for the base of this tutorial. I hope it has been helpful to give you a little peek into the goodness of AJAX and will encourage you to apply it in your own applications. As mentioned above, I'll continue with a part 4 to add some more web service calls and turn on birds eye imagery.
&lt;p&gt; 
&lt;p&gt; &lt;/span&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face=Arial&gt;&lt;span style="font-size:12pt;font-family:Arial"&gt;&lt;/span&gt;&lt;/font&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+Tutorial+Part+3+-+AJAX+and+Virtual+Earth&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!536.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!536.entry</guid><pubDate>Thu, 09 Feb 2006 17:19:29 GMT</pubDate><slash:comments>59</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!536/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!536.entry#comment</wfw:comment><dcterms:modified>2006-02-09T17:19:29Z</dcterms:modified></item><item><title>Tutorial Part 1 - AJAX and Virtual Earth</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!526.entry</link><description>&lt;p&gt;&lt;font face=Arial size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt;&lt;a href="http://en.wikipedia.org/wiki/Ajax_(programming)"&gt;AJAX&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face=Arial size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt;&lt;a href="http://en.wikipedia.org/wiki/Ajax_(programming)"&gt; &lt;/a&gt;isn’t so much a technology, but an umbrella covering the use of a handful of technologies that in concert can make web applications feel much more fluid and interactive. This is achieved by bringing more of the application code to the client, and making small, asynchronous fetches to the server that don’t require re-fetching and rendering of an entire web page. It’s important to understand what AJAX can do for your applications, and just as important to understand what it doesn’t do. AJAX won’t help you implement right-click context menus or drag-n-drop, but it is often incorrectly credited at doing so. But Drag and Drop and context menus are two good companions for AJAX that can make your applications behave and respond more like a native application. &lt;/span&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face=Arial size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt; &lt;/span&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt;I should note that there are a &lt;a href="http://ajaxian.com/resources/"&gt;&lt;u&gt;&lt;font color="#800080"&gt;bunch of AJAX toolkits&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; available whose aim it is to simplify coding. This tutorial intentionally doesn’t make use of any of them in an effort to help you better understand the basic pattern of AJAX applications. With this knowledge, it will make investigating and choosing (not to mention using) a toolkit much easier. And I DO encourage you to do so. &lt;font face=Arial&gt;&lt;span&gt; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt; &lt;/span&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face=Arial size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt;Upon completing this simple tutorial you’ll have a mapping application built with the Virtual Earth map control that utilizes AJAX to asynchronously do a reverse geocode for the center point of the map. We’ll build the application in three logical parts, each building upon the previous. &lt;/span&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face=Arial size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt; &lt;/span&gt;&lt;/font&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt;&lt;strong&gt;Part 1&lt;/strong&gt; – Basic mapping application built with the Virtual Earth Control. Pan and zoom with the onscreen compass, Mouse wheel, Drag box, or keyboard. Each time the map moves, we draw a marker icon dead center of the visible map area. In part two, it is the coordinate of this marker we’ll be passing to the server.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;li&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt;&lt;strong&gt;&lt;a href="http://spaces.msn.com/virtualearth/blog/cns!2BBC66E99FDCDB98!531.entry"&gt;Part 2&lt;/a&gt;&lt;/strong&gt; – We add a link in the page that fires off an asynchronous call to a server component. We pass the current Latitude/Longitude in this call. We’ll stub out the server piece in this part, implementing the reverse Geocode in part three. My Server component is an ASPX page written in C# – you can implement the functionality with whatever server programming or scripting language you prefer. The Server page will spit out javascript as its response, to be executed in the client. And finally to complete the round-trip, we’ll implement the callback in the client that takes the returned Javascript and executes it with the eval() menthod.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt;&lt;a href="http://spaces.msn.com/virtualearth/blog/cns!2BBC66E99FDCDB98!536.entry"&gt;&lt;strong&gt;Part 3&lt;/strong&gt; &lt;/a&gt;– We’ll Flesh out the Server component to make a SOAP call to the MapPoint Web Service (MWS) to reverse geocode the coordinate passed in from the client. You could choose to do whatever you like here – perhaps grabbing traffic from MWS, Business listings from Windows Live Local, Photos from Flickr, whatever you want… &lt;font face=Arial&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face=Arial size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/ul&gt;
&lt;p&gt;&lt;font face=Arial size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt;You can try out &lt;a href="http://www.myfavoriteplaceonearth.com/ajaxtutorial/part1.html"&gt;part one of the tutorial &lt;/a&gt;here. Or better yet, view source after it loads and go ahead and include it into an html file on your own server. It begins by including the VE map control and style sheet. When the Body loads, it calls the OnPageLoad() method which loads and initializes the map as well as attaching to the event onchangeview, which allows us to draw the center marker whenever the map is adjusted. Pretty straight up. No Ajax to see here. In part 2 we’ll add that in.&lt;/span&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face=Arial size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt;&lt;/span&gt;&lt;/font&gt; 
&lt;p&gt;&lt;font face=Arial size=2&gt;&lt;span style="font-size:10pt;font-family:Arial"&gt;&lt;/span&gt;&lt;/font&gt; &lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+Tutorial+Part+1+-+AJAX+and+Virtual+Earth&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!526.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!526.entry</guid><pubDate>Tue, 07 Feb 2006 07:43:58 GMT</pubDate><slash:comments>37</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!526/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!526.entry#comment</wfw:comment><dcterms:modified>2006-02-09T17:30:45Z</dcterms:modified></item><item><title>Mashing Property Values, GeoRSS and Birds Eye imagery</title><link>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!513.entry</link><description>&lt;div&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:black;font-family:Arial"&gt;&lt;font size=3&gt;I’m &lt;font face=Arial&gt;&lt;span&gt;feel&lt;span&gt;ing&lt;/span&gt;&lt;/span&gt; so Web 2.0 this morning.&lt;span&gt; I've been working on a mashup, my first of any significant utility.&lt;font color="#0000ff"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;a href="http://www.myfavoriteplaceonearth.com/"&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;My application &lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;mashes Virtual Earth maps and imagery, MWS reverse geocoding, Demographic data from SRC and my own spatial query and storage web service.  &lt;/span&gt;&lt;/span&gt;Maybe this &lt;span&gt;aftern&lt;span&gt;o&lt;/span&gt;on&lt;/span&gt; I’ll see if I can port to Rails.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:black;font-family:Arial"&gt;&lt;/span&gt; 
&lt;p&gt;&lt;span style="font-size:10pt;color:black;font-family:Arial"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:Arial"&gt;&lt;font size=3&gt;The primary purpose of the application is to allow a community to create pushpins on a shared map. Other users can then come along and browse the map with other’s points of interest (POI) overlayed, search by keyword, by email of the author, etc… One of my favorite features is the &lt;/font&gt;&lt;a href="http://www.myfavoriteplaceonearth.com/mfpoeRSS.aspx"&gt;&lt;font color="#0000ff" size=3&gt;&lt;strong&gt;Geo Enhanced RSS feed&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size=3&gt; of recent Locations added to the site. (Learn more about GeoRSS &lt;/font&gt;&lt;a href="http://georss.org/index.html"&gt;&lt;font color="#0000ff" size=3&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size=3&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/font&gt;and &lt;/font&gt;&lt;a href="http://brainoff.com/worldkit/doc/rss.php"&gt;&lt;font color="#0000ff" size=3&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size=3&gt;) What can you do with the RSS feed? First off, you can simply add it to your Live.com page as a standard feed (or any RSS reader you like) to have an entertaining stream of POI &lt;font face=Arial&gt;&lt;span&gt;of unique places &lt;/span&gt;fed to your desktop. If you are an application developer, it&lt;span&gt;'&lt;/span&gt;s easy to utilize the feed in your own applications. The &lt;span&gt;f&lt;/span&gt;eed’s URL’s accept&lt;span&gt; &lt;/span&gt;parameters like ‘Email’ and &lt;span&gt; &lt;/span&gt;‘Keywords’ and you can specify a bounding rectangle for the search with X1, Y1, X2, Y2 parameters. Here is an example returning the five most&lt;span&gt; &lt;/span&gt;recent records containing &lt;span&gt;or tagged with &lt;/span&gt;the word stadium: &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:black;font-family:Arial"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:windowtext;font-family:Arial"&gt;&lt;a href="http://www.myfavoriteplaceonearth.com/mfpoeRSS.aspx?keywords=stadium&amp;amp;count=5"&gt;&lt;u&gt;&lt;font color="#800080" size=3&gt;&lt;a href="http://www.myfavoriteplaceonearth.com/mfpoeRSS.aspx?keywords=stadium&amp;amp;count=5"&gt;http://www.myfavoriteplaceonearth.com/mfpoeRSS.aspx?keywords=stadium&amp;amp;count=5&lt;/a&gt;&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:Arial"&gt;&lt;font size=3&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:black;font-family:Arial"&gt;&lt;font size=3&gt;If there is interest, I’ll write more on GeoRSS in a future entry, but today I wanted to highlight the integration of property values by querying &lt;/font&gt;&lt;a href="http://www.extendthereach.com/products/allocate.srct"&gt;&lt;font color="#0000ff" size=3&gt;&lt;strong&gt;SRC’s Allocate engine&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size=3&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;/strong&gt;to perform demographic queries. &lt;font face=Arial&gt;&lt;span&gt;&lt;span&gt;Among other things, Allocate provides access to a really sharp demographics engine that can slice and dice data in complex ways in real-time. I'm using a tiny subset of that power to grab property and rental values and counts within a quarter mile area. Dean Stoecker of SRC and Ian at AnalyGIS.com were kind enough to expose an Allocate-based Web Service for me to try out. In &lt;a href="http://www.MyFavoritePlaceOnEarth.com"&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;MyFavoritePlaceOnEarth.com&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;, right click on the map and choose 'See Property Values' to try it out. Extra fun in Birds Eye Mode! Right-Click on a building and find out what it's approximate value is. The call to the server to fetch the demographic information is a non-blocking asynchronous request (Asynchronous JavaScript And XML commonly known as &lt;a href="http://en.wikipedia.org/wiki/AJAX"&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;AJAX&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:black;font-family:Arial"&gt;&lt;font size=3&gt;&lt;font face=Arial&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt; 
&lt;p&gt;&lt;span style="font-size:10pt;color:black;font-family:Arial"&gt;&lt;font size=3&gt;&lt;font face=Arial&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:Arial"&gt;&lt;span&gt;&lt;span&gt;&lt;font face=Arial size=3&gt;I'll use this as a jumping off point to start a tutorial on using AJAX and VE that I've had on my mind for awhile. There seems to be so much misinformation in the blogosphere on what AJAX actually is and isn't (AJAX and drag and drop have nothing to do with each other for instance!) so the tutorial will start with a quick overview of what you can do with AJAX. Step-by-Step we'll build a simple application that allows you to navigate a map, make an asynchronous call to a server component for some location-sensitive information, then present the results back down in the client. Watch for these tutorials here on the VE blog over the next few days, with the subject &amp;quot;AJAX Tutorial Part 1&amp;quot;, Part 2, Part 3.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:black;font-family:Arial"&gt;&lt;span&gt;&lt;span&gt;&lt;font face=Arial size=3&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div&gt;&lt;table cellspacing="0" border="0"&gt;&lt;tr height="8"&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;p&gt;&lt;a href="http://tkfiles.storage.live.com&amp;#47;y1p-8fpMKCsXc1E8jXfC2AQv9w5h98Xlxwcm7Rnr-vF1tzAtMxhSOG9fA"&gt;&lt;img src="http://storage.live.com&amp;#47;items&amp;#47;2BBC66E99FDCDB98&amp;#33;514&amp;#58;thumbnail" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=3151506992847969176&amp;page=RSS%3a+Mashing+Property+Values%2c+GeoRSS+and+Birds+Eye+imagery&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=virtualearth.spaces.live.com&amp;amp;GT1=virtualearth"&gt;</description><comments>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!513.entry#comment</comments><guid isPermaLink="true">http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!513.entry</guid><pubDate>Sun, 05 Feb 2006 20:30:15 GMT</pubDate><slash:comments>17</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!513/comments/feed.rss</wfw:commentRss><wfw:comment>http://virtualearth.spaces.live.com/Blog/cns!2BBC66E99FDCDB98!513.entry#comment</wfw:comment><dcterms:modified>2006-02-05T20:30:15Z</dcterms:modified></item></channel></rss>