Microsoft MapPoint Web Service Technical Briefing
Full Syllabus
This three-day class gets you started with Microsoft's MapPoint web service. Each of the topics takes half a day. If you don't care about a particular topic, we can leave it out or substitute something else instead. You can also combine any topics in this class with any topics from my .NET or Web Service offerings to bring your programmers up to speed on other aspects of the .NET platform. We can usually delve deeper into a particular topic if you'd like.
1. Introduction
Lecture: Concepts and definitions. Capabilities and limitations of the MapPoint web service. Discussion of scenarios in which it can be useful. Layout of MapPoint, definition of its services. Discussion of MapPoint data sources. Downloading and installing the SDK. Setting up sample account. Running a sample application.
Lab: Get MapPoint working on students' development machines. Run simple example program to ensure it works properly.
2. The Render Service
Lecture: Requirements for rendering maps in MapPoint. Discussion of coordinate systems. Choosing a MapView by scale, size, boundaries, or display points. Specifying size of desired map, specifying zooming and panning options. Specifying pushpins on the map. Converting between lat/long points and map points. Displaying the map, working with hot areas to allow clicking on various portions, displaying tool tips. (Displaying maps of a route is deferred until the lesson on the Route service.)
Lab: Sample application displaying rendering options.
3. The Route Service
Lecture: Calculating a simple route, specifying waypoints and choice of quickest vs. shortest route. Examination of simple Route object returned by the service. Discussion of the Itinerary property. Rendering a map of the route via the Render service. Rendering maps of individual route segments, such as a close-ups of beginning and ending. Calculating a complex route. Using the RouteSpecification class, specifying way points and length of driving day.
Lab: Sample application displaying route generation
4. The Find Service
Lecture: Concept of geocoding -- getting lat/long of interesting points. Geocoding a street address via the FindAddress method. Geocoding generic data via the Find method. Examination of returned FindResults object. Finding and geocoding points of interest, such as hospitals and brew pubs. Reverse geocoding, finding the address of a specified lat/long point.
Lab: Sample application demonstrating geocoding and reverse geocoding.
5. The Customer Data Service
Lecture: Concepts and definitions. Architecture of upload and modification process. Formatting data for uploading; requirements and limitations. Self-geocoding vs. automatic MapPoint geocoding. Starting the upload, monitoring its progress, completing the upload. Using the Find service on your customer data via the FindByID, FindByProperty, and FindNearRoute methods.
Lab: Upload sample data to MapPoint. Build and run sample program finding nearest customer data location to a user-specified location.
6. The Location Service
Lecture: Concepts and definitions. Three-tier (client -- MapPoint Location Server - Location Service Provider) architecture. Setup and provisioning of the enterprise, connection to Location Service Provider. LocatableContact, LocatablePhoneNumber, and LocatableUser classes. Privacy considerations: allowing and forbidding location by specific users. Use of the LocationServiceSoap class. Adding and removing contacts. Getting positions, synchronously and asynchronously. Discussion of the Position class used for returning results. Sending and receiving notifications that a contact has been located.
Lab: Install MapPoint Location Server on students' lab machines. Run client program using stub locator.