<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>Federated Search Connector for Virtual Earth Maps Sample</title><link>http://www.codeplex.com/sctfscve/Project/ProjectRss.aspx</link><description>This sample illustrates how to display interactive Virtual Earth maps on your Search Server 2008 search results page.</description><item><title>UPDATED RELEASE: 1.0 (Mar 31, 2008)</title><link>http://www.codeplex.com/sctfscve/Release/ProjectReleases.aspx?ReleaseId=12154</link><description>&lt;div&gt;
Federated Search Connector for Virtual Earth Maps Sample &lt;br&gt;
&lt;/div&gt;</description><author></author><pubDate>Wed, 02 Jul 2008 20:53:33 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: 1.0 (Mar 31, 2008) 20080702085333P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/sctfscve/Wiki/View.aspx?title=Home&amp;version=8</link><description>&lt;div class="wikidoc"&gt;
&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=sctfscve&amp;amp;DownloadId=34996" alt="searchcomv2small.jpg" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This sample illustrates how to display interactive Virtual Earth maps on your Search Server 2008 search results page.
&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Include Virtual Earth maps in your search results via Federated Search:
&lt;/h1&gt; &lt;br /&gt;The Federated Search Web part makes it possible to display more than results from OpenSearch (1.0/1.1) sites on your search results page. The Search Server 2008 SDK already explains how to include results from SQL Server database queries and search sites that do not expose XML feeds (such as Atom or RSS). In both scenarios, you do this by means of a &amp;quot;connector,&amp;quot; a light-weight interface that sends queries to a given location or database, places the results into a structured XML document, and sends that XML to a Federated Search Web Part.&lt;br /&gt; &lt;br /&gt;See Federated Search Overview for more information: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb931080.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb931080.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;This sample demonstrates that you can extend the connector concept to Web service requests other than search queries. It shows how to use a connector to pass a structured address string to Microsoft's MapPoint Web service in order to obtain the latitude and longitude coordinates of that address. Once you have those coordinates, displaying a Microsoft Virtual Earth map requires only the addition of some Javascript to your Federated Location definition file.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Here’s an example of what it looks like:
&lt;/h2&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=sctfscve&amp;amp;DownloadId=31285" alt="VESearch.JPG" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Here’s a summary of how the sample works:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Set up a new web site on your server that does nothing but display RSS feeds (and only this one, for now). You can also deploy the code that creates this feed to the _layouts directory of your Search Server site. See this page for guidance about how to set up a Web application on Sharepoint. The instructions also apply to Search Server: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms368312.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/ms368312.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Setting up a new Web site for creating RSS feeds can be a quicker way to implement a connector, because it lessens the risk of creating conflicting entries in your Web.config files.&lt;/li&gt;&lt;li&gt;Create a Visual Studio Web site in the root directory for the new site. &lt;/li&gt;&lt;li&gt;Add the MapPoint staging Web service to this project. You just add a web reference via one of the urls on this page: &lt;a href="http://msdn2.microsoft.com/en-us/library/aa491863.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/aa491863.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Note that there are secure and non-secure urls for both the staging and production versions of the service. In my project, This sample uses the non-secure staging version for simplicity’s sake, but you will need to take into account your own requirements when deciding which to use. You will also need to sign up for a free MapPoint developer account here: &lt;a href="https://mappoint-css.live.com/mwssignup/" class="externalLink"&gt;https://mappoint-css.live.com/mwssignup/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The Map.aspx document does very little. You just need to make sure that it is using the correct code-behind file and inheriting from the correct class. &lt;/li&gt;&lt;li&gt;The Map.aspx.cs code-behind file does all the work. It takes the query string and passes it to MapPoint’s Find Service, which retrieves the location coordinates (latitude + longitude). It creates a very simple RSS feed containing the first item (if any) of the map result set, including a title (the address string) along with the location coordinates.&lt;/li&gt;&lt;li&gt;The Web.config file contains some boilerplate config for the MapPoint web service. It also contains placeholders for the &amp;quot;mpUser&amp;quot; and &amp;quot;mpPwd&amp;quot; values. You will need to include your own MapPoint credentials as values for these keys. Ideally you would place encrypted values here and decrypt them in your code-behind file, but as written, the sample will accept only plain-text user/password combinations.&lt;/li&gt;&lt;li&gt;Load your new page, whose URL should look something like this: http:&amp;lt;server name:port&amp;gt;/Map.aspx?q=&amp;lt;structured address string&amp;gt;&lt;/li&gt;&lt;li&gt;Verify that location coordinates are being returned in the RSS source.&lt;/li&gt;&lt;li&gt;Add a Federated location, configuring it so that it uses the RSS feed that you have just created. The sample includes a Federated location definition file that you can import directly into your site, if you wish.  The location definition includes some Javascript that you can also add directly to the Federated results XSL property for this location. The XSL retrieves the latitude and longitude from the RSS feed and passes it to the Virtual Earth LoadMap method. That method is documented here: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb412546.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb412546.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Add a Federated Results Web Part that uses this particular location (configuring it so that it loads synchronously), and verify that it is working correctly. Note that the MapPoint query works best when you pass it a correctly formatted address (street address, city, state). This is because the sample uses a MapPoint method that requires a correctly formatted address string.  It is also important to note that the Javascript will not work correctly unless you configure your location to load synchronously.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;I include below sample Javascript that you can add to your new Federated locations XSL property in order to display a Virtual Earth map. The Javascript assumes that your RSS feed will provide values for &amp;quot;latitude&amp;quot; and &amp;quot;longitude.&amp;quot; Add this script underneath the &amp;lt;xsl:call-template name=&amp;quot;MainTemplate.description&amp;quot;&amp;gt; section (directly underneath that section's closing tag: &amp;lt;/xsl:call-template&amp;gt;):&lt;br /&gt; &lt;br /&gt;                  &amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; xmlns=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;                      &amp;lt;![CDATA[&lt;br /&gt;                      &amp;lt;!--&lt;br /&gt;                      document.write('&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; src=&amp;quot;http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;');&lt;br /&gt;                      //--&amp;gt;&lt;br /&gt;                      ]]&amp;gt;&lt;br /&gt;                    &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;                    var map = null;&lt;br /&gt;                    // set page event handlers for onload and unload&lt;br /&gt;                    if (window.attachEvent) {&lt;br /&gt;                    window.attachEvent(&amp;quot;onload&amp;quot;, Page_Load);&lt;br /&gt;                    window.attachEvent(&amp;quot;onunload&amp;quot;, Page_Unload);&lt;br /&gt;                    } else {&lt;br /&gt;                    window.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, Page_Load, false);&lt;br /&gt;                    window.addEventListener(&amp;quot;unload&amp;quot;, Page_Unload, false);&lt;br /&gt;                    }&lt;br /&gt;                    // load map&lt;br /&gt;                    function Page_Load() {&lt;br /&gt;                    GetMap();&lt;br /&gt;                    }&lt;br /&gt;                    // Clean up all objects&lt;br /&gt;                    function Page_Unload() {&lt;br /&gt;                    if (map!=null) {&lt;br /&gt;                    map.Dispose();&lt;br /&gt;                    map = null;&lt;br /&gt;                    }&lt;br /&gt;                    }&lt;br /&gt;                    function GetMap()&lt;br /&gt;                    {&lt;br /&gt;                    map = new VEMap('FedMapDiv');&lt;br /&gt;                    map.SetDashboardSize(VEDashboardSize.Small);&lt;br /&gt;                    map.LoadMap(new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;), 10, 'r', false);&lt;br /&gt;                    var mapdiv = document.getElementById(&amp;quot;FedMapDiv&amp;quot;);&lt;br /&gt;                    var yPos = mapdiv.clientHeight - 195;&lt;br /&gt;                    var location = new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;);&lt;br /&gt;                    var shape = new VEShape(VEShapeType.Pushpin, location);&lt;br /&gt;                    map.AddShape(shape);&lt;br /&gt;                    map.SetCenterAndZoom(location, 12);&lt;br /&gt;                    }&lt;br /&gt;                  &amp;lt;/script&amp;gt;&lt;br /&gt;                  &amp;lt;div id='FedMapDiv' style=&amp;quot;position:relative; width:300px; height:300px;&amp;quot;&amp;gt;&lt;br /&gt;                  &amp;lt;/div&amp;gt;&lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>richardriley</author><pubDate>Tue, 20 May 2008 21:14:39 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080520091439P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/sctfscve/Wiki/View.aspx?title=Home&amp;version=7</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This sample illustrates how to display interactive Virtual Earth maps on your Search Server 2008 search results page.
&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Include Virtual Earth maps in your search results via Federated Search:
&lt;/h1&gt; &lt;br /&gt;The Federated Search Web part makes it possible to display more than results from OpenSearch (1.0/1.1) sites on your search results page. The Search Server 2008 SDK already explains how to include results from SQL Server database queries and search sites that do not expose XML feeds (such as Atom or RSS). In both scenarios, you do this by means of a &amp;quot;connector,&amp;quot; a light-weight interface that sends queries to a given location or database, places the results into a structured XML document, and sends that XML to a Federated Search Web Part.&lt;br /&gt; &lt;br /&gt;See Federated Search Overview for more information: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb931080.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb931080.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;This sample demonstrates that you can extend the connector concept to Web service requests other than search queries. It shows how to use a connector to pass a structured address string to Microsoft's MapPoint Web service in order to obtain the latitude and longitude coordinates of that address. Once you have those coordinates, displaying a Microsoft Virtual Earth map requires only the addition of some Javascript to your Federated Location definition file.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Here’s an example of what it looks like:
&lt;/h2&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=sctfscve&amp;amp;DownloadId=31285" alt="VESearch.JPG" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Here’s a summary of how the sample works:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Set up a new web site on your server that does nothing but display RSS feeds (and only this one, for now). You can also deploy the code that creates this feed to the _layouts directory of your Search Server site. See this page for guidance about how to set up a Web application on Sharepoint. The instructions also apply to Search Server: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms368312.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/ms368312.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Setting up a new Web site for creating RSS feeds can be a quicker way to implement a connector, because it lessens the risk of creating conflicting entries in your Web.config files.&lt;/li&gt;&lt;li&gt;Create a Visual Studio Web site in the root directory for the new site. &lt;/li&gt;&lt;li&gt;Add the MapPoint staging Web service to this project. You just add a web reference via one of the urls on this page: &lt;a href="http://msdn2.microsoft.com/en-us/library/aa491863.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/aa491863.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Note that there are secure and non-secure urls for both the staging and production versions of the service. In my project, This sample uses the non-secure staging version for simplicity’s sake, but you will need to take into account your own requirements when deciding which to use. You will also need to sign up for a free MapPoint developer account here: &lt;a href="https://mappoint-css.live.com/mwssignup/" class="externalLink"&gt;https://mappoint-css.live.com/mwssignup/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The Map.aspx document does very little. You just need to make sure that it is using the correct code-behind file and inheriting from the correct class. &lt;/li&gt;&lt;li&gt;The Map.aspx.cs code-behind file does all the work. It takes the query string and passes it to MapPoint’s Find Service, which retrieves the location coordinates (latitude + longitude). It creates a very simple RSS feed containing the first item (if any) of the map result set, including a title (the address string) along with the location coordinates.&lt;/li&gt;&lt;li&gt;The Web.config file contains some boilerplate config for the MapPoint web service. It also contains placeholders for the &amp;quot;mpUser&amp;quot; and &amp;quot;mpPwd&amp;quot; values. You will need to include your own MapPoint credentials as values for these keys. Ideally you would place encrypted values here and decrypt them in your code-behind file, but as written, the sample will accept only plain-text user/password combinations.&lt;/li&gt;&lt;li&gt;Load your new page, whose URL should look something like this: http:&amp;lt;server name:port&amp;gt;/Map.aspx?q=&amp;lt;structured address string&amp;gt;&lt;/li&gt;&lt;li&gt;Verify that location coordinates are being returned in the RSS source.&lt;/li&gt;&lt;li&gt;Add a Federated location, configuring it so that it uses the RSS feed that you have just created. The sample includes a Federated location definition file that you can import directly into your site, if you wish.  The location definition includes some Javascript that you can also add directly to the Federated results XSL property for this location. The XSL retrieves the latitude and longitude from the RSS feed and passes it to the Virtual Earth LoadMap method. That method is documented here: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb412546.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb412546.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Add a Federated Results Web Part that uses this particular location (configuring it so that it loads synchronously), and verify that it is working correctly. Note that the MapPoint query works best when you pass it a correctly formatted address (street address, city, state). This is because the sample uses a MapPoint method that requires a correctly formatted address string.  It is also important to note that the Javascript will not work correctly unless you configure your location to load synchronously.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;I include below sample Javascript that you can add to your new Federated locations XSL property in order to display a Virtual Earth map. The Javascript assumes that your RSS feed will provide values for &amp;quot;latitude&amp;quot; and &amp;quot;longitude.&amp;quot; Add this script underneath the &amp;lt;xsl:call-template name=&amp;quot;MainTemplate.description&amp;quot;&amp;gt; section (directly underneath that section's closing tag: &amp;lt;/xsl:call-template&amp;gt;):&lt;br /&gt; &lt;br /&gt;                  &amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; xmlns=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;                      &amp;lt;![CDATA[&lt;br /&gt;                      &amp;lt;!--&lt;br /&gt;                      document.write('&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; src=&amp;quot;http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;');&lt;br /&gt;                      //--&amp;gt;&lt;br /&gt;                      ]]&amp;gt;&lt;br /&gt;                    &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;                    var map = null;&lt;br /&gt;                    // set page event handlers for onload and unload&lt;br /&gt;                    if (window.attachEvent) {&lt;br /&gt;                    window.attachEvent(&amp;quot;onload&amp;quot;, Page_Load);&lt;br /&gt;                    window.attachEvent(&amp;quot;onunload&amp;quot;, Page_Unload);&lt;br /&gt;                    } else {&lt;br /&gt;                    window.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, Page_Load, false);&lt;br /&gt;                    window.addEventListener(&amp;quot;unload&amp;quot;, Page_Unload, false);&lt;br /&gt;                    }&lt;br /&gt;                    // load map&lt;br /&gt;                    function Page_Load() {&lt;br /&gt;                    GetMap();&lt;br /&gt;                    }&lt;br /&gt;                    // Clean up all objects&lt;br /&gt;                    function Page_Unload() {&lt;br /&gt;                    if (map!=null) {&lt;br /&gt;                    map.Dispose();&lt;br /&gt;                    map = null;&lt;br /&gt;                    }&lt;br /&gt;                    }&lt;br /&gt;                    function GetMap()&lt;br /&gt;                    {&lt;br /&gt;                    map = new VEMap('FedMapDiv');&lt;br /&gt;                    map.SetDashboardSize(VEDashboardSize.Small);&lt;br /&gt;                    map.LoadMap(new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;), 10, 'r', false);&lt;br /&gt;                    var mapdiv = document.getElementById(&amp;quot;FedMapDiv&amp;quot;);&lt;br /&gt;                    var yPos = mapdiv.clientHeight - 195;&lt;br /&gt;                    var location = new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;);&lt;br /&gt;                    var shape = new VEShape(VEShapeType.Pushpin, location);&lt;br /&gt;                    map.AddShape(shape);&lt;br /&gt;                    map.SetCenterAndZoom(location, 12);&lt;br /&gt;                    }&lt;br /&gt;                  &amp;lt;/script&amp;gt;&lt;br /&gt;                  &amp;lt;div id='FedMapDiv' style=&amp;quot;position:relative; width:300px; height:300px;&amp;quot;&amp;gt;&lt;br /&gt;                  &amp;lt;/div&amp;gt;&lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>jamescro</author><pubDate>Tue, 01 Apr 2008 20:25:31 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080401082531P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/sctfscve/Wiki/View.aspx?title=Home&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This sample illustrates how to display interactive Virtual Earth maps on your Search Server 2008 search results page.
&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Include Virtual Earth maps in your search results via Federated Search:
&lt;/h1&gt; &lt;br /&gt;The Federated Search Web part makes it possible to display more than results from OpenSearch (1.0/1.1) sites on your search results page. The Search Server 2008 SDK already explains how to include results from SQL Server database queries and search sites that do not expose XML feeds (such as Atom or RSS). In both scenarios, you do this by means of a &amp;quot;connector,&amp;quot; a light-weight interface that sends queries to a given location or database, places the results into a structured XML document, and sends that XML to a Federated Search Web Part.&lt;br /&gt; &lt;br /&gt;See Federated Search Overview for more information: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb931080.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb931080.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;This sample demonstrates that you can extend the connector concept to Web service requests other than search queries. It shows how to use a connector to pass a structured address string to Microsoft's MapPoint Web service in order to obtain the latitude and longitude coordinates of that address. Once you have those coordinates, displaying a Microsoft Virtual Earth map requires only the addition of some Javascript to your Federated Location definition file.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Here’s a summary of how the sample works:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Set up a new web site on your server that does nothing but display RSS feeds (and only this one, for now). You can also deploy the code that creates this feed to the _layouts directory of your Search Server site. See this page for guidance about how to set up a Web application on Sharepoint. The instructions also apply to Search Server: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms368312.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/ms368312.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Setting up a new Web site for creating RSS feeds can be a quicker way to implement a connector, because it lessens the risk of creating conflicting entries in your Web.config files.&lt;/li&gt;&lt;li&gt;Create a Visual Studio Web site in the root directory for the new site. &lt;/li&gt;&lt;li&gt;Add the MapPoint staging Web service to this project. You just add a web reference via one of the urls on this page: &lt;a href="http://msdn2.microsoft.com/en-us/library/aa491863.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/aa491863.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Note that there are secure and non-secure urls for both the staging and production versions of the service. In my project, This sample uses the non-secure staging version for simplicity’s sake, but you will need to take into account your own requirements when deciding which to use. You will also need to sign up for a free MapPoint developer account here: &lt;a href="https://mappoint-css.live.com/mwssignup/" class="externalLink"&gt;https://mappoint-css.live.com/mwssignup/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The Map.aspx document does very little. You just need to make sure that it is using the correct code-behind file and inheriting from the correct class. &lt;/li&gt;&lt;li&gt;The Map.aspx.cs code-behind file does all the work. It takes the query string and passes it to MapPoint’s Find Service, which retrieves the location coordinates (latitude + longitude). It creates a very simple RSS feed containing the first item (if any) of the map result set, including a title (the address string) along with the location coordinates.&lt;/li&gt;&lt;li&gt;The Web.config file contains some boilerplate config for the MapPoint web service. It also contains placeholders for the &amp;quot;mpUser&amp;quot; and &amp;quot;mpPwd&amp;quot; values. You will need to include your own MapPoint credentials as values for these keys. Ideally you would place encrypted values here and decrypt them in your code-behind file, but as written, the sample will accept only plain-text user/password combinations.&lt;/li&gt;&lt;li&gt;Load your new page, whose URL should look something like this: http:&amp;lt;server name:port&amp;gt;/Map.aspx?q=&amp;lt;structured address string&amp;gt;&lt;/li&gt;&lt;li&gt;Verify that location coordinates are being returned in the RSS source.&lt;/li&gt;&lt;li&gt;Add a Federated location, configuring it so that it uses the RSS feed that you have just created. The sample includes a Federated location definition file that you can import directly into your site, if you wish.  The location definition includes some Javascript that you can also add directly to the Federated results XSL property for this location. The XSL retrieves the latitude and longitude from the RSS feed and passes it to the Virtual Earth LoadMap method. That method is documented here: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb412546.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb412546.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Add a Federated Results Web Part that uses this particular location (configuring it so that it loads synchronously), and verify that it is working correctly. Note that the MapPoint query works best when you pass it a correctly formatted address (street address, city, state). This is because the sample uses a MapPoint method that requires a correctly formatted address string.  It is also important to note that the Javascript will not work correctly unless you configure your location to load synchronously.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;I include below sample Javascript that you can add to your new Federated locations XSL property in order to display a Virtual Earth map. The Javascript assumes that your RSS feed will provide values for &amp;quot;latitude&amp;quot; and &amp;quot;longitude.&amp;quot; Add this script underneath the &amp;lt;xsl:call-template name=&amp;quot;MainTemplate.description&amp;quot;&amp;gt; section (directly underneath that section's closing tag: &amp;lt;/xsl:call-template&amp;gt;):&lt;br /&gt; &lt;br /&gt;                  &amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; xmlns=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;                      &amp;lt;![CDATA[&lt;br /&gt;                      &amp;lt;!--&lt;br /&gt;                      document.write('&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; src=&amp;quot;http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;');&lt;br /&gt;                      //--&amp;gt;&lt;br /&gt;                      ]]&amp;gt;&lt;br /&gt;                    &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;                    var map = null;&lt;br /&gt;                    // set page event handlers for onload and unload&lt;br /&gt;                    if (window.attachEvent) {&lt;br /&gt;                    window.attachEvent(&amp;quot;onload&amp;quot;, Page_Load);&lt;br /&gt;                    window.attachEvent(&amp;quot;onunload&amp;quot;, Page_Unload);&lt;br /&gt;                    } else {&lt;br /&gt;                    window.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, Page_Load, false);&lt;br /&gt;                    window.addEventListener(&amp;quot;unload&amp;quot;, Page_Unload, false);&lt;br /&gt;                    }&lt;br /&gt;                    // load map&lt;br /&gt;                    function Page_Load() {&lt;br /&gt;                    GetMap();&lt;br /&gt;                    }&lt;br /&gt;                    // Clean up all objects&lt;br /&gt;                    function Page_Unload() {&lt;br /&gt;                    if (map!=null) {&lt;br /&gt;                    map.Dispose();&lt;br /&gt;                    map = null;&lt;br /&gt;                    }&lt;br /&gt;                    }&lt;br /&gt;                    function GetMap()&lt;br /&gt;                    {&lt;br /&gt;                    map = new VEMap('FedMapDiv');&lt;br /&gt;                    map.SetDashboardSize(VEDashboardSize.Small);&lt;br /&gt;                    map.LoadMap(new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;), 10, 'r', false);&lt;br /&gt;                    var mapdiv = document.getElementById(&amp;quot;FedMapDiv&amp;quot;);&lt;br /&gt;                    var yPos = mapdiv.clientHeight - 195;&lt;br /&gt;                    var location = new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;);&lt;br /&gt;                    var shape = new VEShape(VEShapeType.Pushpin, location);&lt;br /&gt;                    map.AddShape(shape);&lt;br /&gt;                    map.SetCenterAndZoom(location, 12);&lt;br /&gt;                    }&lt;br /&gt;                  &amp;lt;/script&amp;gt;&lt;br /&gt;                  &amp;lt;div id='FedMapDiv' style=&amp;quot;position:relative; width:300px; height:300px;&amp;quot;&amp;gt;&lt;br /&gt;                  &amp;lt;/div&amp;gt;&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=sctfscve&amp;amp;DownloadId=31285" alt="VESearch.JPG" /&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>jamescro</author><pubDate>Tue, 01 Apr 2008 20:24:34 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080401082434P</guid></item><item><title>UPDATED RELEASE: 1.0 (Mar 31, 2008)</title><link>http://www.codeplex.com/sctfscve/Release/ProjectReleases.aspx?ReleaseId=12154</link><description>Federated Search Connector for Virtual Earth Maps Sample </description><author></author><pubDate>Mon, 31 Mar 2008 23:13:15 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: 1.0 (Mar 31, 2008) 20080331111315P</guid></item><item><title>Patch Applied</title><link>http://www.codeplex.com/sctfscve/SourceControl/PatchList.aspx</link><description>
&lt;p&gt;&lt;a href='/UserAccount/UserProfile.aspx?UserName=jamescro'&gt;jamescro&lt;/a&gt; has applied patch #1054.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Comment:&lt;/b&gt;&lt;br /&gt;Initial release.&lt;/p&gt;</description><author>jamescro</author><pubDate>Mon, 31 Mar 2008 23:07:46 GMT</pubDate><guid isPermaLink="false">Patch Applied 20080331110746P</guid></item><item><title>Patch Uploaded</title><link>http://www.codeplex.com/sctfscve/SourceControl/PatchList.aspx</link><description>
&lt;p&gt;&lt;a href='/UserAccount/UserProfile.aspx?UserName=jamescro'&gt;jamescro&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;Initial Map.aspx.cs file.&lt;/p&gt;</description><author>jamescro</author><pubDate>Mon, 31 Mar 2008 23:07:37 GMT</pubDate><guid isPermaLink="false">Patch Uploaded 20080331110737P</guid></item><item><title>Patch Applied</title><link>http://www.codeplex.com/sctfscve/SourceControl/PatchList.aspx</link><description>
&lt;p&gt;&lt;a href='/UserAccount/UserProfile.aspx?UserName=jamescro'&gt;jamescro&lt;/a&gt; has applied patch #1053.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Comment:&lt;/b&gt;&lt;br /&gt;Initial release&lt;/p&gt;</description><author>jamescro</author><pubDate>Mon, 31 Mar 2008 23:07:05 GMT</pubDate><guid isPermaLink="false">Patch Applied 20080331110705P</guid></item><item><title>Patch Uploaded</title><link>http://www.codeplex.com/sctfscve/SourceControl/PatchList.aspx</link><description>
&lt;p&gt;&lt;a href='/UserAccount/UserProfile.aspx?UserName=jamescro'&gt;jamescro&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;Initial Map.aspx file.&lt;/p&gt;</description><author>jamescro</author><pubDate>Mon, 31 Mar 2008 23:06:45 GMT</pubDate><guid isPermaLink="false">Patch Uploaded 20080331110645P</guid></item><item><title>CREATED RELEASE: 1.0 (Mar 31, 2008)</title><link>http://www.codeplex.com/sctfscve/Release/ProjectReleases.aspx?ReleaseId=12154</link><description>Federated Search Connector for Virtual Earth Maps Sample </description><author></author><pubDate>Mon, 31 Mar 2008 23:02:11 GMT</pubDate><guid isPermaLink="false">CREATED RELEASE: 1.0 (Mar 31, 2008) 20080331110211P</guid></item><item><title>Patch Declined</title><link>http://www.codeplex.com/sctfscve/SourceControl/PatchList.aspx</link><description>
&lt;p&gt;&lt;a href='/UserAccount/UserProfile.aspx?UserName=jamescro'&gt;jamescro&lt;/a&gt; has declined patch #1052.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Comment:&lt;/b&gt;&lt;br /&gt;not a patch&lt;/p&gt;</description><author>jamescro</author><pubDate>Mon, 31 Mar 2008 22:50:30 GMT</pubDate><guid isPermaLink="false">Patch Declined 20080331105030P</guid></item><item><title>Patch Uploaded</title><link>http://www.codeplex.com/sctfscve/SourceControl/PatchList.aspx</link><description>
&lt;p&gt;&lt;a href='/UserAccount/UserProfile.aspx?UserName=jamescro'&gt;jamescro&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;Initial release.&lt;/p&gt;</description><author>jamescro</author><pubDate>Mon, 31 Mar 2008 22:49:55 GMT</pubDate><guid isPermaLink="false">Patch Uploaded 20080331104955P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/sctfscve/Wiki/View.aspx?title=Home&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Include Virtual Earth maps in your search results via Federated Search:
&lt;/h1&gt; &lt;br /&gt;The Federated Search Web part makes it possible to display more than results from OpenSearch (1.0/1.1) sites on your search results page. The Search Server 2008 SDK already explains how to include results from SQL Server database queries and search sites that do not expose XML feeds (such as Atom or RSS). In both scenarios, you do this by means of a &amp;quot;connector,&amp;quot; a light-weight interface that sends queries to a given location or database, places the results into a structured XML document, and sends that XML to a Federated Search Web Part.&lt;br /&gt; &lt;br /&gt;See Federated Search Overview for more information: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb931080.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb931080.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;This sample demonstrates that you can extend the connector concept to Web service requests other than search queries. It shows how to use a connector to pass a structured address string to Microsoft's MapPoint Web service in order to obtain the latitude and longitude coordinates of that address. Once you have those coordinates, displaying a Microsoft Virtual Earth map requires only the addition of some Javascript to your Federated Location definition file.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Here’s a summary of how the sample works:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Set up a new web site on your server that does nothing but display RSS feeds (and only this one, for now). You can also deploy the code that creates this feed to the _layouts directory of your Search Server site. See this page for guidance about how to set up a Web application on Sharepoint. The instructions also apply to Search Server: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms368312.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/ms368312.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Setting up a new Web site for creating RSS feeds can be a quicker way to implement a connector, because it lessens the risk of creating conflicting entries in your Web.config files.&lt;/li&gt;&lt;li&gt;Create a Visual Studio Web site in the root directory for the new site. &lt;/li&gt;&lt;li&gt;Add the MapPoint staging Web service to this project. You just add a web reference via one of the urls on this page: &lt;a href="http://msdn2.microsoft.com/en-us/library/aa491863.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/aa491863.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Note that there are secure and non-secure urls for both the staging and production versions of the service. In my project, This sample uses the non-secure staging version for simplicity’s sake, but you will need to take into account your own requirements when deciding which to use. You will also need to sign up for a free MapPoint developer account here: &lt;a href="https://mappoint-css.live.com/mwssignup/" class="externalLink"&gt;https://mappoint-css.live.com/mwssignup/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The Map.aspx document does very little. You just need to make sure that it is using the correct code-behind file and inheriting from the correct class. &lt;/li&gt;&lt;li&gt;The Map.aspx.cs code-behind file does all the work. It takes the query string and passes it to MapPoint’s Find Service, which retrieves the location coordinates (latitude + longitude). It creates a very simple RSS feed containing the first item (if any) of the map result set, including a title (the address string) along with the location coordinates.&lt;/li&gt;&lt;li&gt;The Web.config file contains some boilerplate config for the MapPoint web service. It also contains placeholders for the &amp;quot;mpUser&amp;quot; and &amp;quot;mpPwd&amp;quot; values. You will need to include your own MapPoint credentials as values for these keys. Ideally you would place encrypted values here and decrypt them in your code-behind file, but as written, the sample will accept only plain-text user/password combinations.&lt;/li&gt;&lt;li&gt;Load your new page, whose URL should look something like this: http:&amp;lt;server name:port&amp;gt;/Map.aspx?q=&amp;lt;structured address string&amp;gt;&lt;/li&gt;&lt;li&gt;Verify that location coordinates are being returned in the RSS source.&lt;/li&gt;&lt;li&gt;Add a Federated location, configuring it so that it uses the RSS feed that you have just created. The sample includes a Federated location definition file that you can import directly into your site, if you wish.  The location definition includes some Javascript that you can also add directly to the Federated results XSL property for this location. The XSL retrieves the latitude and longitude from the RSS feed and passes it to the Virtual Earth LoadMap method. That method is documented here: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb412546.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb412546.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Add a Federated Results Web Part that uses this particular location (configuring it so that it loads synchronously), and verify that it is working correctly. Note that the MapPoint query works best when you pass it a correctly formatted address (street address, city, state). This is because the sample uses a MapPoint method that requires a correctly formatted address string.  It is also important to note that the Javascript will not work correctly unless you configure your location to load synchronously.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;I include below sample Javascript that you can add to your new Federated locations XSL property in order to display a Virtual Earth map. The Javascript assumes that your RSS feed will provide values for &amp;quot;latitude&amp;quot; and &amp;quot;longitude.&amp;quot; Add this script underneath the &amp;lt;xsl:call-template name=&amp;quot;MainTemplate.description&amp;quot;&amp;gt; section (directly underneath that section's closing tag: &amp;lt;/xsl:call-template&amp;gt;):&lt;br /&gt; &lt;br /&gt;                  &amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; xmlns=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;                      &amp;lt;![CDATA[&lt;br /&gt;                      &amp;lt;!--&lt;br /&gt;                      document.write('&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; src=&amp;quot;http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;');&lt;br /&gt;                      //--&amp;gt;&lt;br /&gt;                      ]]&amp;gt;&lt;br /&gt;                    &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;                    var map = null;&lt;br /&gt;                    // set page event handlers for onload and unload&lt;br /&gt;                    if (window.attachEvent) {&lt;br /&gt;                    window.attachEvent(&amp;quot;onload&amp;quot;, Page_Load);&lt;br /&gt;                    window.attachEvent(&amp;quot;onunload&amp;quot;, Page_Unload);&lt;br /&gt;                    } else {&lt;br /&gt;                    window.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, Page_Load, false);&lt;br /&gt;                    window.addEventListener(&amp;quot;unload&amp;quot;, Page_Unload, false);&lt;br /&gt;                    }&lt;br /&gt;                    // load map&lt;br /&gt;                    function Page_Load() {&lt;br /&gt;                    GetMap();&lt;br /&gt;                    }&lt;br /&gt;                    // Clean up all objects&lt;br /&gt;                    function Page_Unload() {&lt;br /&gt;                    if (map!=null) {&lt;br /&gt;                    map.Dispose();&lt;br /&gt;                    map = null;&lt;br /&gt;                    }&lt;br /&gt;                    }&lt;br /&gt;                    function GetMap()&lt;br /&gt;                    {&lt;br /&gt;                    map = new VEMap('FedMapDiv');&lt;br /&gt;                    map.SetDashboardSize(VEDashboardSize.Small);&lt;br /&gt;                    map.LoadMap(new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;), 10, 'r', false);&lt;br /&gt;                    var mapdiv = document.getElementById(&amp;quot;FedMapDiv&amp;quot;);&lt;br /&gt;                    var yPos = mapdiv.clientHeight - 195;&lt;br /&gt;                    var location = new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;);&lt;br /&gt;                    var shape = new VEShape(VEShapeType.Pushpin, location);&lt;br /&gt;                    map.AddShape(shape);&lt;br /&gt;                    map.SetCenterAndZoom(location, 12);&lt;br /&gt;                    }&lt;br /&gt;                  &amp;lt;/script&amp;gt;&lt;br /&gt;                  &amp;lt;div id='FedMapDiv' style=&amp;quot;position:relative; width:300px; height:300px;&amp;quot;&amp;gt;&lt;br /&gt;                  &amp;lt;/div&amp;gt;&lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>jamescro</author><pubDate>Mon, 31 Mar 2008 22:46:35 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080331104635P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/sctfscve/Wiki/View.aspx?title=Home&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Include Virtual Earth maps in your search results via Federated Search:
&lt;/h1&gt; &lt;br /&gt;The Federated Search Web part makes it possible to display more than results from OpenSearch (1.0/1.1) sites on your search results page. The Search Server 2008 SDK already explains how to include results from SQL Server database queries and search sites that do not expose XML feeds (such as Atom or RSS). In both scenarios, you do this by means of a &amp;quot;connector,&amp;quot; a light-weight interface that sends queries to a given location or database, places the results into a structured XML document, and sends that XML to a Federated Search Web Part.&lt;br /&gt; &lt;br /&gt;See Federated Search Overview for more information: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb931080.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb931080.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;This sample demonstrates that you can extend the connector concept to Web service requests other than search queries. It shows how to use a connector to pass a structured address string to Microsoft's MapPoint Web service in order to obtain the latitude and longitude coordinates of that address. Once you have those coordinates, displaying a Microsoft Virtual Earth map requires only the addition of some Javascript to your Federated Location definition file.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Here’s a summary of how the sample works:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Set up a new web site on your server that does nothing but display RSS feeds (and only this one, for now). You can also deploy the code that creates this feed to the _layouts directory of your Search Server site. See this page for guidance about how to set up a Web application on Sharepoint. The instructions also apply to Search Server: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms368312.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/ms368312.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Setting up a new Web site for creating RSS feeds can be a quicker way to implement a connector, because it lessens the risk of creating conflicting entries in your Web.config files.&lt;/li&gt;&lt;li&gt;Create a Visual Studio Web site in the root directory for the new site. &lt;/li&gt;&lt;li&gt;Add the MapPoint staging Web service to this project. You just add a web reference via one of the urls on this page: &lt;a href="http://msdn2.microsoft.com/en-us/library/aa491863.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/aa491863.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Note that there are secure and non-secure urls for both the staging and production versions of the service. In my project, This sample uses the non-secure staging version for simplicity’s sake, but you will need to take into account your own requirements when deciding which to use. You will also need to sign up for a free MapPoint developer account here: &lt;a href="https://mappoint-css.live.com/mwssignup/" class="externalLink"&gt;https://mappoint-css.live.com/mwssignup/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The Map.aspx document does very little. You just need to make sure that it is using the correct code-behind file and inheriting from the correct class. &lt;/li&gt;&lt;li&gt;The Map.aspx.cs code-behind file does all the work. It takes the query string and passes it to MapPoint’s Find Service, which retrieves the location coordinates (latitude + longitude). It creates a very simple RSS feed containing the first item (if any) of the map result set, including a title (the address string) along with the location coordinates.&lt;/li&gt;&lt;li&gt;The Web.config file contains some boilerplate config for the MapPoint web service. It also contains placeholders for the &amp;quot;mpUser&amp;quot; and &amp;quot;mpPwd&amp;quot; values. You will need to include your own MapPoint credentials as values for these keys. Ideally you would place encrypted values here and decrypt them in your code-behind file, but as written, the sample will accept only plain-text user/password combinations.&lt;/li&gt;&lt;li&gt;Load your new page, whose URL should look something like this: http:&amp;lt;server name:port&amp;gt;/Map.aspx?q=&amp;lt;structured address string&amp;gt;&lt;/li&gt;&lt;li&gt;Verify that location coordinates are being returned in the RSS source.&lt;/li&gt;&lt;li&gt;Add a Federated location, configuring it so that it uses the RSS feed that you have just created. The sample includes a Federated location definition file that you can import directly into your site, if you wish.  The location definition includes some Javascript that you can also add directly to the Federated results XSL property for this location. The XSL retrieves the latitude and longitude from the RSS feed and passes it to the Virtual Earth LoadMap method. That method is documented here: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb412546.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb412546.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Add a Federated Results Web Part that uses this particular location (configuring it so that it loads synchronously), and verify that it is working correctly. Note that the MapPoint query works best when you pass it a correctly formatted address (street address, city, state). This is because the sample uses a MapPoint method that requires a correctly formatted address string.  It is also important to note that the Javascript will not work correctly unless you configure your location to load synchronously.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;I include below sample Javascript that you can add to your new Federated locations XSL property in order to display a Virtual Earth map. The Javascript assumes that your RSS feed will provide values for &amp;quot;latitude&amp;quot; and &amp;quot;longitude.&amp;quot; Add this script underneath the &amp;lt;xsl:call-template name=&amp;quot;MainTemplate.description&amp;quot;&amp;gt; section (directly underneath that section's closing tag: &amp;lt;/xsl:call-template&amp;gt;):&lt;br /&gt; &lt;br /&gt;                  &amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; xmlns=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;                      &amp;lt;![CDATA[&lt;br /&gt;                      &amp;lt;!--&lt;br /&gt;                      document.write('&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; src=&amp;quot;http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;');&lt;br /&gt;                      //--&amp;gt;&lt;br /&gt;                      ]]&amp;gt;&lt;br /&gt;                    &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;                    var map = null;&lt;br /&gt;                    // set page event handlers for onload and unload&lt;br /&gt;                    if (window.attachEvent) {&lt;br /&gt;                    window.attachEvent(&amp;quot;onload&amp;quot;, Page_Load);&lt;br /&gt;                    window.attachEvent(&amp;quot;onunload&amp;quot;, Page_Unload);&lt;br /&gt;                    } else {&lt;br /&gt;                    window.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, Page_Load, false);&lt;br /&gt;                    window.addEventListener(&amp;quot;unload&amp;quot;, Page_Unload, false);&lt;br /&gt;                    }&lt;br /&gt;                    // load map&lt;br /&gt;                    function Page_Load() {&lt;br /&gt;                    GetMap();&lt;br /&gt;                    }&lt;br /&gt;                    // Clean up all objects&lt;br /&gt;                    function Page_Unload() {&lt;br /&gt;                    if (map!=null) {&lt;br /&gt;                    map.Dispose();&lt;br /&gt;                    map = null;&lt;br /&gt;                    }&lt;br /&gt;                    }&lt;br /&gt;                    function GetMap()&lt;br /&gt;                    {&lt;br /&gt;                    map = new VEMap('FedMapDiv');&lt;br /&gt;                    map.SetDashboardSize(VEDashboardSize.Small);&lt;br /&gt;                    map.LoadMap(new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;), 10, 'r', false);&lt;br /&gt;                    var mapdiv = document.getElementById(&amp;quot;FedMapDiv&amp;quot;);&lt;br /&gt;                    var yPos = mapdiv.clientHeight - 195;&lt;br /&gt;                    var location = new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;);&lt;br /&gt;                    var shape = new VEShape(VEShapeType.Pushpin, location);&lt;br /&gt;                    map.AddShape(shape);&lt;br /&gt;                    map.SetCenterAndZoom(location, 12);&lt;br /&gt;                    }&lt;br /&gt;                  &amp;lt;/script&amp;gt;&lt;br /&gt;                  &amp;lt;div id='FedMapDiv' style=&amp;quot;position:relative; width:300px; height:300px;&amp;quot;&amp;gt;&lt;br /&gt;                  &amp;lt;/div&amp;gt;&lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>jamescro</author><pubDate>Mon, 31 Mar 2008 22:45:59 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080331104559P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/sctfscve/Wiki/View.aspx?title=Home&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Include Virtual Earth maps in your search results via Federated Search:
&lt;/h1&gt; &lt;br /&gt;The Federated Search Web part makes it possible to display more than results from OpenSearch (1.0/1.1) sites on your search results page. The Search Server 2008 SDK already explains how to include results from SQL Server database queries and search sites that do not expose XML feeds (such as Atom or RSS). In both scenarios, you do this by means of a &amp;quot;connector,&amp;quot; a light-weight interface that sends queries to a given location or database, places the results into a structured XML document, and sends that XML to a Federated Search Web Part.&lt;br /&gt; &lt;br /&gt;See Federated Search Overview for more information: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb931080.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb931080.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;This sample demonstrates that you can extend the connector concept to Web service requests other than search queries. It shows how to use a connector to pass a structured address string to Microsoft's MapPoint Web service in order to obtain the latitude and longitude coordinates of that address. Once you have those coordinates, displaying a Microsoft Virtual Earth map requires only the addition of some Javascript to your Federated Location definition file.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Here’s a summary of how the sample works:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Set up a new web site on your server that does nothing but display RSS feeds (and only this one, for now). You can also deploy the code that creates this feed to the _layouts directory of your Search Server site. See this page for guidance about how to set up a Web application on Sharepoint. The instructions also apply to Search Server:&lt;a href="http://msdn2.microsoft.com/en-us/library/ms368312.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/ms368312.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Setting up a new Web site for creating RSS feeds can be a quicker way to implement a connector, because it lessens the risk of creating conflicting entries in your Web.config files.&lt;/li&gt;&lt;li&gt;Create a Visual Studio Web site in the root directory for the new site. &lt;/li&gt;&lt;li&gt;Add the MapPoint staging Web service to this project. You just add a web reference via one of the urls on this page: &lt;a href="http://msdn2.microsoft.com/en-us/library/aa491863.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/aa491863.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Note that there are secure and non-secure urls for both the staging and production versions of the service. In my project, This sample uses the non-secure staging version for simplicity’s sake, but you will need to take into account your own requirements when deciding which to use. You will also need to sign up for a free MapPoint developer account here: &lt;a href="https://mappoint-css.live.com/mwssignup/" class="externalLink"&gt;https://mappoint-css.live.com/mwssignup/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The Map.aspx document does very little. You just need to make sure that it is using the correct code-behind file and inheriting from the correct class. &lt;/li&gt;&lt;li&gt;The Map.aspx.cs code-behind file does all the work. It takes the query string and passes it to MapPoint’s Find Service, which retrieves the location coordinates (latitude + longitude). It creates a very simple RSS feed containing the first item (if any) of the map result set, including a title (the address string) along with the location coordinates.&lt;/li&gt;&lt;li&gt;The Web.config file contains some boilerplate config for the MapPoint web service. It also contains placeholders for the &amp;quot;mpUser&amp;quot; and &amp;quot;mpPwd&amp;quot; values. You will need to include your own MapPoint credentials as values for these keys. Ideally you would place encrypted values here and decrypt them in your code-behind file, but as written, the sample will accept only plain-text user/password combinations.&lt;/li&gt;&lt;li&gt;Load your new page, whose URL should look something like this:&lt;/li&gt;
&lt;/ol&gt;	http:&amp;lt;server name:port&amp;gt;/Map.aspx?q=&amp;lt;structured address string&amp;gt;&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Verify that location coordinates are being returned in the RSS source.&lt;/li&gt;&lt;li&gt;Add a Federated location, configuring it so that it uses the RSS feed that you have just created. The sample includes a Federated location definition file that you can import directly into your site, if you wish.  The location definition includes some Javascript that you can also add directly to the Federated results XSL property for this location. The XSL retrieves the latitude and longitude from the RSS feed and passes it to the Virtual Earth LoadMap method. That method is documented here: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb412546.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb412546.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Add a Federated Results Web Part that uses this particular location (configuring it so that it loads synchronously), and verify that it is working correctly. Note that the MapPoint query works best when you pass it a correctly formatted address (street address, city, state). This is because the sample uses a MapPoint method that requires a correctly formatted address string.  It is also important to note that the Javascript will not work correctly unless you configure your location to load synchronously.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;I include below sample Javascript that you can add to your new Federated locations XSL property in order to display a Virtual Earth map. The Javascript assumes that your RSS feed will provide values for &amp;quot;latitude&amp;quot; and &amp;quot;longitude.&amp;quot; Add this script underneath the &amp;lt;xsl:call-template name=&amp;quot;MainTemplate.description&amp;quot;&amp;gt; section (directly underneath that section's closing tag: &amp;lt;/xsl:call-template&amp;gt;):&lt;br /&gt; &lt;br /&gt;                  &amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; xmlns=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;                      &amp;lt;![CDATA[&lt;br /&gt;                      &amp;lt;!--&lt;br /&gt;                      document.write('&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; src=&amp;quot;http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;');&lt;br /&gt;                      //--&amp;gt;&lt;br /&gt;                      ]]&amp;gt;&lt;br /&gt;                    &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;                    var map = null;&lt;br /&gt;                    // set page event handlers for onload and unload&lt;br /&gt;                    if (window.attachEvent) {&lt;br /&gt;                    window.attachEvent(&amp;quot;onload&amp;quot;, Page_Load);&lt;br /&gt;                    window.attachEvent(&amp;quot;onunload&amp;quot;, Page_Unload);&lt;br /&gt;                    } else {&lt;br /&gt;                    window.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, Page_Load, false);&lt;br /&gt;                    window.addEventListener(&amp;quot;unload&amp;quot;, Page_Unload, false);&lt;br /&gt;                    }&lt;br /&gt;                    // load map&lt;br /&gt;                    function Page_Load() {&lt;br /&gt;                    GetMap();&lt;br /&gt;                    }&lt;br /&gt;                    // Clean up all objects&lt;br /&gt;                    function Page_Unload() {&lt;br /&gt;                    if (map!=null) {&lt;br /&gt;                    map.Dispose();&lt;br /&gt;                    map = null;&lt;br /&gt;                    }&lt;br /&gt;                    }&lt;br /&gt;                    function GetMap()&lt;br /&gt;                    {&lt;br /&gt;                    map = new VEMap('FedMapDiv');&lt;br /&gt;                    map.SetDashboardSize(VEDashboardSize.Small);&lt;br /&gt;                    map.LoadMap(new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;), 10, 'r', false);&lt;br /&gt;                    var mapdiv = document.getElementById(&amp;quot;FedMapDiv&amp;quot;);&lt;br /&gt;                    var yPos = mapdiv.clientHeight - 195;&lt;br /&gt;                    var location = new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;);&lt;br /&gt;                    var shape = new VEShape(VEShapeType.Pushpin, location);&lt;br /&gt;                    map.AddShape(shape);&lt;br /&gt;                    map.SetCenterAndZoom(location, 12);&lt;br /&gt;                    }&lt;br /&gt;                  &amp;lt;/script&amp;gt;&lt;br /&gt;                  &amp;lt;div id='FedMapDiv' style=&amp;quot;position:relative; width:300px; height:300px;&amp;quot;&amp;gt;&lt;br /&gt;                  &amp;lt;/div&amp;gt;&lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>jamescro</author><pubDate>Mon, 31 Mar 2008 22:45:03 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080331104503P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/sctfscve/Wiki/View.aspx?title=Home&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;!Include Virtual Earth maps in your search results via Federated Search:&lt;br /&gt; &lt;br /&gt;The Federated Search Web part makes it possible to display more than results from OpenSearch (1.0/1.1) sites on your search results page. The Search Server 2008 SDK already explains how to include results from SQL Server database queries and search sites that do not expose XML feeds (such as Atom or RSS). In both scenarios, you do this by means of a &amp;quot;connector,&amp;quot; a light-weight interface that sends queries to a given location or database, places the results into a structured XML document, and sends that XML to a Federated Search Web Part.&lt;br /&gt; &lt;br /&gt;See Federated Search Overview for more information: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb931080.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/bb931080.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;This sample demonstrates that you can extend the connector concept to Web service requests other than search queries. It shows how to use a connector to pass a structured address string to Microsoft's MapPoint Web service in order to obtain the latitude and longitude coordinates of that address. Once you have those coordinates, displaying a Microsoft Virtual Earth map requires only the addition of some Javascript to your Federated Location definition file.&lt;br /&gt; &lt;br /&gt;!!Here’s a summary of how the sample works:&lt;br /&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Set up a new web site on your server that does nothing but display RSS feeds (and only this one, for now). You can also deploy the code that creates this feed to the _layouts directory of your Search Server site. See this page for guidance about how to set up a Web application on Sharepoint. The instructions also apply to Search Server:&lt;a href="http://msdn2.microsoft.com/en-us/library/ms368312.aspx" class="externalLink"&gt;http://msdn2.microsoft.com/en-us/library/ms368312.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;Setting up a new Web site for creating RSS feeds can be a quicker way to implement a connector, because it lessens the risk of creating conflicting entries in your Web.config files.&lt;br /&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a Visual Studio Web site in the root directory for the new site. &lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Add the MapPoint staging Web service to this project. You just add a web reference via one of the urls on this page:&lt;/li&gt;
&lt;/ol&gt;http://msdn2.microsoft.com/en-us/library/aa491863.aspx&lt;br /&gt; &lt;br /&gt;Note that there are secure and non-secure urls for both the staging and production versions of the service. In my project, I’m just using the non-secure staging version for simplicity’s sake, but you will need to take into account your own requirements when deciding which to use. You will also need to sign up for a free MapPoint developer account here:&lt;br /&gt;https://mappoint-css.live.com/mwssignup/&lt;br /&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;The Map.aspx document does very little. You just need to make sure that it is using the correct code-behind file and inheriting from the correct class. &lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;The Map.aspx.cs code-behind file does all the work. It takes the query string and passes it to MapPoint’s Find Service, which retrieves the location coordinates (latitude + longitude). It creates a very simple RSS feed containing the first item (if any) of the map result set, including a title (the address string) along with the location coordinates.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;The Web.config file contains some boilerplate config for the MapPoint web service. It also contains placeholders for the &amp;quot;mpUser&amp;quot; and &amp;quot;mpPwd&amp;quot; values. You will need to include your own MapPoint credentials as values for these keys. Ideally you would place encrypted values here and decrypt them in your code-behind file, but as written, the sample will accept only plain-text user/password combinations.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Load your new page, whose URL should look something like this:&lt;/li&gt;
&lt;/ol&gt;	http:&amp;lt;server name:port&amp;gt;/Map.aspx?q=&amp;lt;structured address string&amp;gt;&lt;br /&gt; &lt;br /&gt;Verify that location coordinates are being returned in the RSS source.&lt;br /&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Add a Federated location, configuring it so that it uses the RSS feed that you have just created. The sample includes a Federated location definition file that you can import directly into your site, if you wish.  The location definition includes some Javascript that you can also add directly to the Federated results XSL property for this location. The XSL retrieves the latitude and longitude from the RSS feed and passes it to the Virtual Earth LoadMap method. That method is documented here: &lt;/li&gt;
&lt;/ol&gt;http://msdn2.microsoft.com/en-us/library/bb412546.aspx&lt;br /&gt;  &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Add a Federated Results Web Part that uses this particular location (configuring it so that it loads synchronously), and verify that it is working correctly. Note that the MapPoint query works best when you pass it a correctly formatted address (street address, city, state). This is because the sample uses a MapPoint method that requires a correctly formatted address string.  It is also important to note that the Javascript will not work correctly unless you configure your location to load synchronously.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;I include below sample Javascript that you can add to your new Federated locations XSL property in order to display a Virtual Earth map. The Javascript assumes that your RSS feed will provide values for &amp;quot;latitude&amp;quot; and &amp;quot;longitude.&amp;quot; Add this script underneath the &amp;lt;xsl:call-template name=&amp;quot;MainTemplate.description&amp;quot;&amp;gt; section (directly underneath that section's closing tag: &amp;lt;/xsl:call-template&amp;gt;):&lt;br /&gt; &lt;br /&gt;                  &amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; xmlns=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;                      &amp;lt;![CDATA[&lt;br /&gt;                      &amp;lt;!--&lt;br /&gt;                      document.write('&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; src=&amp;quot;http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;');&lt;br /&gt;                      //--&amp;gt;&lt;br /&gt;                      ]]&amp;gt;&lt;br /&gt;                    &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;                    var map = null;&lt;br /&gt;                    // set page event handlers for onload and unload&lt;br /&gt;                    if (window.attachEvent) {&lt;br /&gt;                    window.attachEvent(&amp;quot;onload&amp;quot;, Page_Load);&lt;br /&gt;                    window.attachEvent(&amp;quot;onunload&amp;quot;, Page_Unload);&lt;br /&gt;                    } else {&lt;br /&gt;                    window.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, Page_Load, false);&lt;br /&gt;                    window.addEventListener(&amp;quot;unload&amp;quot;, Page_Unload, false);&lt;br /&gt;                    }&lt;br /&gt;                    // load map&lt;br /&gt;                    function Page_Load() {&lt;br /&gt;                    GetMap();&lt;br /&gt;                    }&lt;br /&gt;                    // Clean up all objects&lt;br /&gt;                    function Page_Unload() {&lt;br /&gt;                    if (map!=null) {&lt;br /&gt;                    map.Dispose();&lt;br /&gt;                    map = null;&lt;br /&gt;                    }&lt;br /&gt;                    }&lt;br /&gt;                    function GetMap()&lt;br /&gt;                    {&lt;br /&gt;                    map = new VEMap('FedMapDiv');&lt;br /&gt;                    map.SetDashboardSize(VEDashboardSize.Small);&lt;br /&gt;                    map.LoadMap(new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;), 10, 'r', false);&lt;br /&gt;                    var mapdiv = document.getElementById(&amp;quot;FedMapDiv&amp;quot;);&lt;br /&gt;                    var yPos = mapdiv.clientHeight - 195;&lt;br /&gt;                    var location = new VELatLong(&amp;lt;xsl:value-of select=&amp;quot;latitude&amp;quot;/&amp;gt;,&amp;lt;xsl:value-of select=&amp;quot;longitude&amp;quot;/&amp;gt;);&lt;br /&gt;                    var shape = new VEShape(VEShapeType.Pushpin, location);&lt;br /&gt;                    map.AddShape(shape);&lt;br /&gt;                    map.SetCenterAndZoom(location, 12);&lt;br /&gt;                    }&lt;br /&gt;                  &amp;lt;/script&amp;gt;&lt;br /&gt;                  &amp;lt;div id='FedMapDiv' style=&amp;quot;position:relative; width:300px; height:300px;&amp;quot;&amp;gt;&lt;br /&gt;                  &amp;lt;/div&amp;gt;&lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>jamescro</author><pubDate>Mon, 31 Mar 2008 22:41:46 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080331104146P</guid></item></channel></rss>