User Tools

Site Tools


Map Suite Silverlight Edition Miscellaneous Samples

Best Practices - Silverlight Edition


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 Part 1 and Part 2 of the video which provides a brief summary of this sample.

Out of Browser Support


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


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

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


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


Starting with version, 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 this article or watch the video overview

Use Map with MVC Framework

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


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.

Map Suite Explorer (ServiceEdition)

This week, we decided to publish in the Code Community the project for Map Suite Explorer. You are already familiar with that free Desktop tool that comes with any edition of Map Suite. It is a basic GIS tool that allows you to view your geographic data and its tabular information. It also allows doing some basic manipulation on your date such as building the spatial index. With the source code at your disposition, you can cut time developing your own application by having at your disposal the code for doing common tasks such as loading, unloading layers, building spatial index, changing styles etc. You will also find interesting the legend and see how you can add, remove, move up and down the different layers. It is by far the most comprehensive project in the Code Community to that date. You will need the reference for MapSuiteDesktop.dll and MapSuiteCore.dll (full or evaluation) to run it.

Tile Cache Generator

<div sample_otherlinks> [

map_suite_silverlight_edition_miscellaneous_samples.txt · Last modified: 2015/10/10 07:31 (external edit)