====== Map Suite Silverlight Edition Miscellaneous Samples ======
==== Best Practices - Silverlight Edition ====
{{silverlightedition:codesamples:SilverlightEditionSample_ClientAndServerData_CS_110614.jpg?300x180}}
[[Source_Code_SilverlightEditionSample_ClientAndServerData_CS_110614.zip|View Source]] {{filehistory:SilverlightEditionSample_ClientAndServerData_CS_110614.zip|C# Download}}
[[Map Suite Samples Applies To|Applies To: Silverlight ]] \\ [[Map Suite Samples Alternate Languages | Need it in another language?]]
In this Silverlight-based project, we demonstrate the best practices for rendering and querying data that resides on the server or the client. The Map Suite Silverlight Edition provides the developer with many different options on where and how to render your map data. This sample renders one shapefile(airports) on the client side and another shapefile(counties) on the server side. Querying the client-side airport data is very simple and the coding is very similar to the desktop, WPF or WebEditions. Querying the server-side county data is a little more involved and requires the client to communicate back to the server side using a WCF service. This sample presents the developer with a ready to use sample that demonstrates both methods. \\ \\ \\ You can also check out [[http://wiki.thinkgeo.com/mediawiki/images/e/e4/SilverlightEditionSample_ClientAndServerData_CS_110614_part1.mp4|Part 1]] and [[http://wiki.thinkgeo.com/mediawiki/images/8/89/SilverlightEditionSample_ClientAndServerData_CS_110614_part2.mp4|Part 2]] of the video which provides a brief summary of this sample.
----
==== Out of Browser Support ====
{{silverlightedition:codesamples:Map Suite Silverlight Edition Sample Out Of Browser Support.jpg?300x180}}
[[Source_Code_SilverlightEditionSample_OutOfBrowser_CS_111128.zip|View Source]] {{filehistory:SilverlightEditionSample_OutOfBrowser_CS_111128.zip|C# Download}}
[[Map Suite Samples Applies To|Applies To: Silverlight ]] \\ [[Map Suite Samples Alternate Languages | Need it in another language?]]
We have extended the reach of our Silverlight client to utilize the Out-Of-Browser (OOB) feature. This allows you to launch Silverlight applications either disconnected or connected without the browser as the container. \\ \\ Important Points: \\ \\ 1. To run application in out-of-browser mode, you have to right-click the project and show the "Project Properties" window, then select "Enable running application out of the browser". You must also click the button labeled "Out-of-Browser Settings..." and make sure the item "Require elevated trust when running outside the browser" is selected. \\ \\ 2. To make sure the ServerLayerOverlay works properly in out-of-browser mode, the property "ConnectorHost" URL of the ServerLayerOverlay must be set. This represents the URL of the page that is hosting the SilverlightMapConnector.
----
==== Custom Scale Bar ====
{{silverlightedition:codesamples:Map Suite Silverlight Edition Sample Custom Scale Bar.jpg?300x180}}
[[Source_Code_WebEditionSample_CustomScaleBar_CS_100810.zip|View Source]] {{filehistory:WebEditionSample_CustomScaleBar_CS_100810.zip|C# Download}}
[[Map Suite Samples Applies To|Applies To: Desktop \ Web \ Silverlight \ Services \ Wpf ]] \\ [[Map Suite Samples Alternate Languages | Need it in another language?]]
In today’s Web project, we learn how to extend ScaleBarAdornmentLayer to create a custom scale bar that is based on a projection of choice instead of the projection of the map. This can be useful when the displayed projection of the map has highly distortable distances especially at high latitudes such as Spherical Mercator (used by Google Map, Virtual Earth, Yahoo maps etc). Using a scale bar based on distance geometry of the Geodetic (WGS84) projection will give a more accurate result. Note that the CustomScaleBar class is based on MapSuiteCore and can be used in any other versions of MapSuite such as Desktop.
----
==== Draw Custom Exception ====
{{silverlightedition:codesamples:Map Suite Silverlight Edition Sample Draw Custom Exception.png?300x180}}
[[Source_Code_DesktopEditionSample_DrawCustomException_CS_100127.zip|View Source]] {{filehistory:DesktopEditionSample_DrawCustomException_CS_100127.zip|C# Download}}
[[Map Suite Samples Applies To|Applies To: Desktop \ Web \ Silverlight \ Services \ Wpf ]] \\ [[Map Suite Samples Alternate Languages | Need it in another language?]]
This sample shows how you can suppress and draw exceptions in desktop overlays instead of throwing them. There is a little-known feature in the Map Suite Desktop Edition Overlay class that allows you to draw an exception in the event an exception is thrown during the drawing process. We have a default image we draw in this case; however, you can override this using the DrawExceptionCore method and draw whatever you want. By default we always throw expections, but to start drawing them you can use the Overlay.DrawExceptionMode property.
----
==== MDI Form ====
{{silverlightedition:codesamples:Map Suite Silverlight Edition Sample MDI Form.jpg?300x180}}
[[Source_Code_DesktopEditionSample_MDIform_CS_100405.zip|View Source]] {{filehistory:DesktopEditionSample_MDIform_CS_100405.zip|C# Download}}
[[Map Suite Samples Applies To|Applies To: Desktop \ Web \ Silverlight \ Services \ Wpf ]] \\ [[Map Suite Samples Alternate Languages | Need it in another language?]]
In today’s project, we show how to have the WinformsMap control in a MDI form. Using an MDI form with a map background can represent a challenge. You will see in this project the technique to display properly a child form on top of the map. You can also notice how the map is accessed from the child form by plotting points on it from the child form.
----
==== Topology Validation ====
{{silverlightedition:codesamples:Map Suite Desktop Edition Sample Topology Validation.jpg?300x180}}
[[Source_Code_DesktopEditionSample_TopologyValidation_CS_120904.zip|View Source]] {{filehistory:DesktopEditionSample TopologyValidation CS 120904.zip|C# Download}}
[[Map Suite Samples Applies To|Applies To: Desktop \ Web \ Silverlight \ Services \ Wpf ]] \\ [[Map Suite Samples Alternate Languages | Need it in another language?]]
Starting with version 6.0.113.0, Map Suite includes topology validation capabilities. This Topology Validator sample application makes it simple to visualize and test topology rules. You simply select the case you want to test, use our drawing tools to create the shapes necessary, and then hit the play button to run the test. The error cases are highlighted on the screen and saved to the test, and their Well-Known Text (WKT) is copied to your clipboard. At any time, you can view or edit the WKT which makes up the case. We save our test cases as XML files that contain not only the test case features but also the errors. This makes it a snap for you to share your cases with us or other colleagues. \\ \\ For more details including a list of topology cases that you can test, see [[http://gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/16/aft/10443/afv/topic/Default.aspx#topology|this article]] or watch the [[http://youtu.be/IuLGTRsVtQc|video overview]]
----
==== Use Map with MVC Framework ====
{{silverlightedition:codesamples:Map Suite Silverlight Edition Sample Use Map with MVC Framework.png?300x180}}
[[Source_Code_WebEditionSample_UseMapWithMVCFramework_CS.zip|View Source]] {{filehistory:WebEditionSample_UseMapWithMVCFramework_CS_141211.zip|C# Download}}
[[Map Suite Samples Applies To|Applies To: Desktop \ Web \ Silverlight \ Services \ Wpf ]] \\ [[Map Suite Samples Alternate Languages | Need it in another language?]]
This project demonstrates how to create a web-based map using Microsoft ASP.NET MVC 1.0 and Map Suite Web Edition. To meet the requirements of MVC, we inherit the interface IMapInitializer in the controller, which has a function InitializeMap that is overridden in the controller. We then implement the class "MapInitializerHelper" to initialize the map instance.
----
==== Use Progress Bar ====
{{silverlightedition:codesamples:Map Suite Silverlight Edition Sample Use ProgressBar.jpg?300x180}}
[[Source_Code_SilverlightEditionSample_UseProgressBar_CS.zip|View Source]] {{filehistory:SilverlightEditionSample_UseProgressBar_CS_141211.zip|C# Download}}
[[Map Suite Samples Applies To|Applies To: Silverlight ]] \\ [[Map Suite Samples Alternate Languages | Need it in another language?]]
In this Silverlight-based project, we demonstrate how to implement a custom Overlay inherited from Overlay to add a progress bar indicator while a layer is rendering. The project is simple and meant to show only the basic logic; to extend it, you could add some other information or a loading image instead of a progress bar.
---- {{page>map_suite_services_edition_miscellaneous_samples}}