MapPoint 2004 vs. MapPoint Web Service: Which to Use
IMPORTANT: MapPoint Web Service was retired on November 18, 2011. Please see Bing Maps for a list of current Bing Maps APIs.
Steve Lombardi, Microsoft Corporation
Summary: Learn about the development features of MapPoint 2004 and MapPoint Web Service so that you can decide which one is the right platform for your application. (6 printed pages)
Microsoft MapPoint Web Service, version 3.5
Microsoft MapPoint 2004
MapPoint 2004 and MapPoint Web Service both provide powerful mapping and routing capabilities, work with custom data, and are fully extensible through easy-to-use application programming interfaces (APIs). But which do you use when you want to build an application?
This article will help you decide whether MapPoint 2004 or MapPoint Web Service is the right tool for the job for a particular application. Because the two products have several features in common, there are some situations in which either will work, but there are also scenarios in which one product is clearly the best choice.
This article begins with an overview of both products and then describes which platform is the better choice for specific scenarios. It also includes a feature comparison and a list of resources where you can find out more about programming with MapPoint technologies and get evaluation software.
MapPoint 2004 is a desktop mapping tool that provides a rich experience right out of the box with features such as thematic mapping, territory management, route optimization, and demographic data. All necessary data is installed locally, so network connectivity is not required. With MapPoint 2004, you can easily import data in a variety of common formats (Microsoft Excel, Microsoft Access, Open Database Connectivity (ODBC), and so on) and graphically display the information by using thematic maps, such as the pie charts shown in Figure 1.
Figure 1. Thematic map
You can develop with MapPoint in several ways:
- Create a COM add-in to extend the functionality of MapPoint.
- Use the ActiveX control included with MapPoint to embed a map into your own Microsoft Visual Basic application.
- Use Microsoft Visual Basic for Applications in other applications (such as Microsoft Word or Excel) to automate the connection between MapPoint and the other application.
- Use Visual Basic (or any other COM-compliant programming language) to create an executable file or dynamic-link library (DLL) that automates MapPoint.
MapPoint Web Service is a subscription-based Web service hosted by Microsoft. MapPoint Web Service makes it easy for you to integrate mapping and related features into your applications, regardless of the operating system, programming language, or end-user platform you are targeting. Although MapPoint Web Service is most often used in Web-based applications, such as store locators (Figure 2), it is right at home on the desktop or on mobile devices, as long as the application has network connectivity and can make programmatic calls by means of Simple Object Access Protocol (SOAP).
Figure 2. Store locator
By using the MapPoint Web Service API, you can render maps, calculate driving directions, geocode addresses and places, find points of interest along a route, and perform proximity searches. Proximity searches can be conducted against MapPoint Web Service point-of-interest data (yellow pages or other business listings) or against private data sets that you upload to the MapPoint Web Service servers.
Although MapPoint 2004 and MapPoint Web Service each expose rich APIs to developers, the scenarios in which they can be used are quite different. Three distinguishing criteria can make the choice obvious:
- Architecture—If the application is Web-based or server-based, use MapPoint Web Service. If local map data is required or if network connectivity is not available, use MapPoint 2004.
- Thematic mapping—Although a determined developer can create thematic maps by using MapPoint Web Service, it isn't worth the effort. If an application calls for thematic mapping—such as shaded areas, pie or bar charts, or sized circles—MapPoint 2004 is the way to go.
- Demographic information—MapPoint 2004 contains built-in demographic data that you can use to add business-analysis functionality to your application.
When to Use MapPoint 2004
You can get a lot of "bang for the buck" by choosing MapPoint as a development platform, because you can make use of the functionality and user interface that already exist. However, note that the object model does not expose latitude and longitude coordinates for objects.
Applications that you build by using MapPoint 2004 run on Microsoft Windows operating systems only. MapPoint 2004 must be installed on every computer that will run your application, therefore each computer will require a MapPoint 2004 license.
Use MapPoint as your development platform when the following apply:
- Your application will not have Internet connectivity or has to work offline.
- Your application requires that cartographic data be stored locally.
- Your application requires advanced thematic mapping or demographic data for business analysis.
- You have minimal developer resources and want something that works right out of the box.
- Your application requires route optimization.
When to Use MapPoint Web Service
MapPoint Web Service is a development platform. Although the MapPoint Web Service Software Development Kit (SDK) contains several sample applications, MapPoint Web Service does not offer out-of-the-box functionality; however, the API is easy to use, and most developers can be productive after just a few hours. MapPoint Web Service is built on open standards, which means that you can add the Web Service Description Language (WSDL) to any development environment that supports SOAP, such as Visual Studio .NET, and be productive quickly. Although most MapPoint Web Service customers create Web-based applications that consume MapPoint Web Service, it is just as easy to integrate MapPoint Web Service into Windows applications and mobile applications. If your environment supports SOAP and Digest Authentication, you should be able to make calls to MapPoint Web Service.
Use MapPoint Web Service as your development platform when the following apply:
- Your application is Web-based or runs on another type of server.
- Your application must run on a platform other than Windows.
- Your application requires a small installation footprint.
- You are building an application by using the Microsoft .NET Framework.
The following table compares the features of MapPoint 2004 and MapPoint Web Service.
|Feature||MapPoint 2004||MapPoint Web Service|
|Map data||Separate products are available for North America and Europe.||All supported countries/regions can be accessed through a single API.|
|Map data updates||Map data is updated for each release.||Map data is generally refreshed every six months.|
|Map rendering||Includes five map styles. Font size for labeling can be modified.||Includes five map styles. Font size for labeling can be modified. Maps can be displayed in resolutions up to 2000 × 2000. GIF, WBMP, and PNG formats are supported.|
|Thematic mapping||Excellent support for visualizing business data from a variety of sources.||Not supported.|
|Map annotation/ drawing||Includes a good set of tools for freehand drawing of lines, shapes, text, arrows, and so on.||Not supported.|
|Mobility||Includes Pocket Streets for Pocket PC. Maps can be exported from MapPoint to Pocket Streets. Pocket Streets is not customizable and does not support driving directions.||Can be used to build Wireless Access Protocol (WAP) or Web-based applications for mobile browsers or mobile phones. As with any MapPoint Web Service application, the device must have Internet connectivity.|
|Driving directions||Multi-stop routing in the language of the MapPoint edition: English, French, German, or Italian.||Multi-stop routing in all supported languages: Dutch, English, French, German, Italian, Japanese, Portuguese, Spanish, and Swedish.|
|Route optimization||Stops can be reordered to create the shortest route between them. Required arrival times at each stop can be taken into account.||Not supported.|
|Drive-time zones||Can calculate drive-time polygons based on the number of minutes driving. The resulting polygon can be used in data export.||Not supported.|
|Territory management||Excellent support for creation of territories from state level to census tracts. Support for administrative levels in European countries.||Not supported.|
|Street-level geocoding||Can geocode individual street addresses or databases of addresses. Latitude and longitude coordinates are not exposed by the object model.||Can geocode individual addresses or perform batch geocoding of all addresses in a data source when the data source is uploaded to MapPoint Web Service. Latitude and longitude coordinates are exposed through the API.|
|GPS support||With a GPS receiver connected to your computer or Pocket PC, you can see your current location on the MapPoint or Pocket Streets map.||Supported, but you would need to read and parse the input from the GPS device, and then refresh the map in the application periodically.|
For more information about MapPoint technologies, or to try MapPoint or MapPoint Web Service, see the following resources:
- MapPoint Developer Center—A comprehensive resource for MapPoint developers. You can download the SDKs or view them online and find links to downloads, newsgroups, training resources, and technical articles.
- MapPoint Web Service Evaluation Account—Sign up for a free 45-day evaluation account.
- MapPoint Trial Software—Try MapPoint with a 60-day evaluation version.
Steve Lombardi is a Technical Evangelist with the MapPoint Business Unit.