<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Virtual Earth, Map Cruncher..</title><link>http://blogs.msdn.com/jbhatia/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Virtual Earth and Map Cruncher</title><link>http://blogs.msdn.com/jbhatia/archive/2006/09/12/751355.aspx</link><pubDate>Wed, 13 Sep 2006 03:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:751355</guid><dc:creator>jbhatia</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/jbhatia/comments/751355.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbhatia/commentrss.aspx?PostID=751355</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;A new version of &lt;/FONT&gt;&lt;A href="http://local.live.com/?wip=99"&gt;&lt;FONT face=Verdana color=#0033cc size=2&gt;Windows Live Local&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; released on Sept 12th, 06 with exciting new features.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;One new&amp;nbsp;exciting feature is the support of Map Cruncher.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;What exactly is Map Cruncher? &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;It is having your own map mashup of an external layer of tiles over the base VE Map layer. See a sample of mashup of &lt;/FONT&gt;&lt;A href="http://www.jbhatia1.members.winisp.net/SeattleTransit.htm"&gt;&lt;FONT face=Verdana size=2&gt;Seattle Bus Route.&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;You can now have your own layer of Bicycle maps, Bus maps, Train maps, national park maps, university campus.. The list is endless. &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;This cool feature is available with loads of simplicity. &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Let us start with building our own mashup layer. &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;First let us pick up the source of the external layer i.e. the layer which we will overlay over the base VE MAP. &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I have currently picked up the following PDF file &lt;/FONT&gt;&lt;A href="http://transit.metrokc.gov/tops/bus/area_images/MetroTransMap.pdf"&gt;&lt;FONT face=Verdana size=2&gt;http://transit.metrokc.gov/tops/bus/area_images/MetroTransMap.pdf&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Next we will generate tiles for this Metro Transit layer using &lt;/FONT&gt;&lt;A href="http://research.microsoft.com/mapcruncher/"&gt;&lt;FONT face=Verdana size=2&gt;MSR Map Cruncher&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;. You can select the max zoom level when we generate tiles using MSR Map Cruncher. I have currently selected the max zoom level to be level 15. &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Now let us move forward. We are now all set with tiles for an additional layer. Now let us create our interactive map with the help of Interactive Virtual Earth APIs. More about Virtual Earth APIs can be read at &lt;/FONT&gt;&lt;A href="http://dev.live.com/virtualearth/sdk/"&gt;&lt;FONT face=Verdana size=2&gt;Virtual Earth Interactive SDK&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;. &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Virtual Earth APIs are exposed as a set of JavaScript classes that can be included on your HTML or ASPX page using the script tag: &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT face="Courier New" size=2&gt;&amp;lt;script src="&lt;/FONT&gt;&lt;A href='http://dev.virtualearth.net/mapcontrol/v3/MapControl.js"'&gt;&lt;FONT face="Courier New" color=#0033cc size=2&gt;http://dev.virtualearth.net/mapcontrol/v3/MapControl.js"&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Courier New" size=2&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/script&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Now let us create our basic map with the Metro Transit layer.&lt;/FONT&gt; &lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;lt;html&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;head&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;Map Cruncher using Virtual Earth&amp;lt;/title&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script src= "&lt;/FONT&gt;&lt;A href='http://dev.virtualearth.net/mapcontrol/v3/MapControl.js"'&gt;&lt;FONT face="Courier New" color=#0033cc size=2&gt;http://dev.virtualearth.net/mapcontrol/v3/MapControl.js"&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Courier New" size=2&gt;&amp;gt;&amp;lt;/script&amp;gt;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;script&amp;gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var vemap = null; &lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function GetMap()&amp;nbsp;&lt;BR&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new VEMap('myMap');&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.SetDashboardSize(VEDashboardSize.Tiny);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.LoadMap(new VELatLong(47.395, -122.25), 11 ,'r' ,false); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch(ex)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(ex.message);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/script&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;lt;/head&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;lt;body onload="GetMap();"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id='myMap' style="position:relative; width:1000px; height:800px;"&amp;gt;&amp;lt;/div&amp;gt; &lt;BR&gt;&amp;lt;/body&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;lt;/html&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style="MARGIN-RIGHT: 0px"&gt;&lt;FONT face=Verdana size=2&gt;To add custom tiles to your map, add a VETileSourceSpecification and VETileSource object and assign the opacity and z-Index to the new layer. To learn more about this read ‘Working with Tile Layers’ in the &lt;B&gt;Whats new in the latest release &lt;/B&gt;at &lt;/FONT&gt;&lt;A href="http://dev.live.com/virtualearth/sdk/"&gt;&lt;FONT face=Verdana size=2&gt;Virtual Earth Interactive SDK&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;.&lt;B&gt;&lt;/B&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-RIGHT: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT face="Courier New" size=2&gt;var tileSourceSpec = new VETileSourceSpecification();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tileSourceSpec.ID = “SeattleTransit”&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 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;http://jbhatia1.members.winisp.net/SeattleTransit/%4.png;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tileSourceSpec.NumServers = 1;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tileSourceSpec.MinZoom = 2;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tileSourceSpec.MaxZoom = 16; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-RIGHT: 0px"&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.AddTileSource(tileSourceSpec);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var tileLayer = new VELayerSpecification(VELayerType.VETileSource,"1", "SeattleTransit");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tileLayer.zIndex = 100;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tileLayer.Opacity=0.6; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN-RIGHT: 0px"&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.AddLayer(tileLayer);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;We are now ready with our &lt;/FONT&gt;&lt;A href="http://www.jbhatia1.members.winisp.net/SeattleTransit.htm"&gt;&lt;FONT face=Verdana size=2&gt;Seattle Bus Route&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt; mashup. The interactive map mashup can be zoomed in or zoomed out.&lt;/FONT&gt; &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;So by using Virtual Earth APIs and MSR Map Cruncher we are into a whole new world of overlapping layers of information over a map. &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Happy Map Crunching!!!!&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=751355" width="1" height="1"&gt;</description></item></channel></rss>