Home Page Icon
Home Page
Table of Contents for
D. Maps
Close
D. Maps
by Chandu Thota
Programming MapPoint in .NET
Dedication
A Note Regarding Supplemental Files
Foreword
Preface
Who Should Read This Book
What’s in This Book
Part I, MapPoint 2004
Part II, MapPoint Web Service
Part III, MapPoint Location Server
Part IV, MSN Virtual Earth
Appendixes
Conventions in This Book
Companion Material
Using Code Examples
Other Resources
Safari® Enabled
We’d Like Your Feedback!
Acknowledgments
1. Hello, MapPoint!
1.1. Location-Based Application Categories
1.1.1. Location-Enabled Applications
1.1.2. Location-Aware Applications
1.2. Location Application Architectures
1.2.1. Disconnected Location-Based Applications
1.2.2. Connected Location-Based Applications
1.3. Developing Location-Enabled Applications
1.3.1. Disconnected Applications Using MapPoint 2004
1.3.1.1. Hello, MapPoint 2004!
1.3.2. Connected Applications Using MapPoint Web Service
1.4. Developing Location-Aware Applications
1.4.1. Disconnected Applications Using MapPoint 2004 and GPS
1.4.2. Connected Applications Using MapPoint Location Server
1.5. How It All Fits Together
1.6. Where Are We?
I. MapPoint 2004
2. Programming with MapPoint 2004
2.1. The MapPoint 2004 Object Model
2.2. Programming with MapPoint 2004 API
2.2.1. Adding MapPoint 2004 References Using Visual Studio .NET
2.2.2. Adding MapPoint 2004 References Using TlbImp.EXE
2.2.3. Finding a Place
2.2.3.1. Using the get accessor method
2.2.3.2. Using an enumerator
2.2.3.3. Programmatically disambiguating the results
2.2.4. Finding an Address
2.2.4.1. Parsing a string into valid street address
2.2.5. Finding Both Places and Addresses
2.2.6. One UI Finds All
2.2.7. Finding Points of Interest Around a Location
2.2.7.1. Categorizing points of interest using the PlaceCategory class
2.2.7.2. Controlling place category visibility
2.2.8. Calculating Distance Between Two Locations
2.3. Programming the MapPoint ActiveX Control
2.3.1. Adding MapPoint 2004 ActiveX Control
2.3.2. Initializing the MapPoint 2004 ActiveX Control
2.3.3. Controlling Toolbars and Panes
2.3.4. Displaying a Location on a Map
2.3.5. Working with Pushpins
2.3.6. Interacting with Maps
2.3.6.1. Panning maps
2.3.6.2. Zooming Maps
2.3.6.3. Tracking mouse clicks
2.3.6.4. Point to location
2.3.6.5. Location to point
2.3.6.6. Processing location selections
2.3.6.7. Disabling map interaction
2.3.7. Saving a Map
2.4. Cleaning Up After You’re Done
2.5. Dealing with Latitude and Longitude
2.5.1. Hit-Detection in MapPoint 2004
2.5.2. Determining Time Zone for a Given Location
2.5.3. Determining the Street Address of a Given Location
2.6. Routing in MapPoint 2004
2.6.1. Specifying a Route
2.6.2. Optimizing a Route
2.6.3. Calculating a Route
2.6.4. Personalizing Route Calculations
2.7. Where Are We?
3. Working with Data in MapPoint 2004
3.1. Understanding the MapPoint 2004 Data API
3.2. Understanding Data Maps
3.2.1. Understanding Data Map Styles
3.2.1.1. Location data map
3.2.1.2. Single-item data map
3.2.1.3. Multiple item data map
3.2.2. Understanding the DataSet.DisplayDataMap Method
3.2.2.1. Defining data map style
3.2.2.2. Specifying Data Detail
3.2.2.3. Specifying data range
3.2.2.4. Specifying custom ranges
3.2.2.5. Dealing with optional values
3.3. Working with MapPoint Demographic Data
3.3.1. Accessing the Demographic Data Categories Programmatically
3.3.2. Displaying Data Map Using Demographic Data
3.3.2.1. Displaying a data map
3.3.2.2. Defining data range type and count
3.3.2.3. Specifying custom data ranges
3.3.2.4. Customizing the legend pane
3.3.2.5. Using the DivideBy field
3.3.2.6. Using the custom data range to filter data
3.4. Working with Your Business Data
3.4.1. Importing External Data
3.4.1.1. Understanding the DataSets.ImportData method
3.4.1.2. Importing data from a text file
3.4.1.3. Helping MapPoint understand your text data
3.4.1.4. Displaying Data Maps using your data and demographic data
3.4.1.5. Importing Data from Microsoft Excel
3.4.1.6. Importing data from Microsoft Access
3.4.1.7. Importing data from SQL Server 2000
3.5. Querying a MapPoint DataSet
3.5.1. Executing Location Queries Using MapPoint DataSet
3.5.2. Querying a Dataset for All Records
3.6. Working with Shapes
3.6.1. Drawing Shapes
3.6.1.1. Drawing a circle
3.6.1.2. Drawing a line
3.6.1.3. Drawing a polyline
3.6.1.4. Drawing a polygon
3.6.1.5. Accessing shape vertices
3.6.1.6. Drawing a text box
3.6.2. Altering Shape Appearance
3.6.2.1. Altering line width
3.6.2.2. Changing the fill color
3.6.2.3. Simulating translucency
3.6.2.4. Toggling shape visibility
3.6.3. Querying Shapes
3.6.4. Working with Drivetime Zones
3.7. Working with Territories
3.7.1. Determining a Location’s Territory
3.8. Where Are We?
4. Advanced MapPoint 2004 Programming
4.1. Interfacing MapPoint 2004 with a GPS Device
4.1.1. GPS Basics
4.1.2. Understanding NMEA GPS Sentences
4.1.3. Parsing NMEA Sentences
4.1.4. Fields in the Fixed Data Sentence
4.1.5. Fields in the Position and Time Sentence
4.1.6. Converting NMEA Values
4.1.7. Converting Latitude and Longitude Information
4.1.8. Converting the Speed Information
4.1.9. Converting the Bearing Information
4.1.10. Converting the UTC Time Information
4.1.11. Communicating with a GPS device
4.1.12. Event-Based Architecture for Reading GPS Sentences
4.1.13. How to Use the Sample API in Your Applications
4.1.14. Displaying GPS Sentences Using MapPoint 2004
4.1.15. Centering the Map on the Current Location
4.2. Integrating Your Applications with MapPoint 2004
4.2.1. Developing the Add-In
4.2.2. Invoking Add-In Methods from an External Application
4.3. Performance Considerations
4.4. Where Are We?
II. MapPoint Web Service
5. Programming MapPoint Web Service
5.1. How Does MapPoint Web Service Work?
5.2. Getting Started with MapPoint Web Service
5.2.1. Requesting MapPoint Web Service Credentials
5.2.2. Accessing the MapPoint Web Service APIs
5.2.3. Accessing the Customer Services Site
5.3. Preparing Your Development Environment
5.3.1. Adding a Web Reference
5.3.1.1. Static versus dynamic service URL
5.3.1.2. Storing your credentials securely
5.3.1.3. Preauthenticate requests for performance gains
5.4. Understanding MapPoint Web Service Object Model
5.4.1. Common Service
5.4.2. Find Service
5.4.3. Render Service
5.4.4. Route Service
5.4.5. MapPoint Web Service Data Sources
5.4.5.1. MapPoint data sources
5.4.5.2. Customer data sources
5.4.5.3. MapPoint Web Service data source capabilities
5.4.5.4. Language support in data sources
5.5. Where Are We?
6. MapPoint Web Service Find APIs
6.1. Understanding Find APIs
6.1.1. The Anatomy of Find Methods
6.2. Understanding Entities and Entity Relationships
6.2.1. Data Sources and Entity Types
6.2.1.1. Getting all supported entity types within a data source
6.3. Data Sources and Countries/Regions
6.3.1. Countries/Regions and Their Entity IDs
6.3.2. Querying for Geographic Extent for a Data Source
6.3.3. Programmatically Mapping a Country/Region to a Data Source
6.4. Working with Find Methods
6.4.1. Finding Places
6.4.1.1. Finding more default matches
6.4.1.2. Returning more find results
6.4.1.3. Selectively finding entity types
6.4.1.4. Limiting search to a geographic area
6.4.1.5. Finding geographic entities with no input place name
6.4.2. Finding Addresses
6.4.3. Finding Points of Interest Around a Location
6.4.3.1. Customer data sources—displaying your data
6.4.4. Finding Points of Interest Along a Route
6.4.5. Finding Custom Entity Types
6.4.5.1. Find entity by identity
6.4.5.2. Finding entity by properties
6.4.6. Finding Polygons
6.4.7. Getting Entities from Latitude/Longitude
6.4.8. Parsing Addresses
6.5. Asynchronous Programming with Find Service
6.5.1. Asynchronous Programming for Windows Applications
6.5.2. Asynchronous Programming for Web Applications
6.5.2.1. AJAX-Enabling Your Web Applications
6.5.2.2. Implementing MapPoint Lookup AJAX Application
6.6. Optimizing Find Call Performance
6.6.1. Optimizing the SOAP Response Size
6.6.2. Applying Proper Metadata for Faster Searches
6.6.3. Use Asynchronous Programming Patterns
6.7. Globalizing Find
6.8. Where Are We?
7. MapPoint Web Service Route APIs
7.1. Understanding Route APIs
7.1.1. Anatomy of a Route
7.1.2. Representing a Route Programmatically
7.2. Calculating a Route
7.2.1. Calculating a Route Using the CalculateSimpleRoute Method
7.2.2. Calculating a Route Using the CalculateRoute Method
7.2.2.1. Controlling the driving times
7.2.2.2. Setting default distance units
7.2.2.3. Setting the default culture
7.3. Displaying Details of a Route
7.3.1. Displaying the Route Summary
7.3.2. Displaying Route Details
7.4. Where Are We?
8. MapPoint Web Service Render APIs
8.1. Understanding Render APIs
8.1.1. Introduction to Views
8.1.1.1. View by bounding locations
8.1.1.2. View by height and width
8.1.1.3. View by scale
8.1.1.4. View by bounding rectangle
8.1.2. Understanding Map Styles
8.1.3. Anatomy of Render APIs
8.1.4. Rendering for Windows Versus Rendering for the Web
8.2. Rendering Maps
8.2.1. Rendering Places and Addresses
8.2.2. Rendering Pushpins
8.2.2.1. Rendering points of interest
8.2.2.2. Avoiding icon collision
8.2.2.3. Suppressing standard entity types
8.2.2.4. Converting pushpins to pixel coordinates
8.2.3. Rendering Routes
8.2.4. Rendering LineDrive Maps
8.2.5. Rendering Polygons
8.3. Map Interaction
8.3.1. Programming Map Zoom
8.3.2. Programming Map Pan
8.4. Asynchronous Programming
8.4.1. Asynchronous Programming for Windows Applications
8.4.2. Asynchronous Programming for Web Applications
8.4.2.1. AJAX-Enabling Your Web Applications
8.5. Where Are We?
III. MapPoint Location Server
9. Programming Microsoft Location Server
9.1. Microsoft Location Server Terminology
9.2. How Does Location Server Work?
9.3. Microsoft Location Server Architecture
9.3.1. Microsoft Location Server Web Service
9.3.2. Microsoft Location Server Database
9.3.3. Microsoft Location Server Providers
9.4. Installing the Location Server
9.4.1. Installation Overview
9.5. Accessing the Location Service APIs
9.6. Accessing the Location Server APIs
9.7. Microsoft Location Server Supported Providers
9.8. Where Are We?
10. Programming with Location Server APIs
10.1. Programming with Location Server Web Service
10.1.1. Anatomy of Location Web Service APIs
10.1.2. Finding a Real-Time Location
10.1.3. Adding and Removing Contacts
10.1.3.1. If lookup is based on domain alias
10.1.3.2. If lookup is based on display name
10.1.3.3. If lookup is based on first name and last name
10.1.3.4. If lookup is based on phone number
10.1.3.5. If lookup is based on email address
10.1.4. Programming Privacy Settings
10.1.4.1. Managing contact privacy settings
10.1.4.2. Going into stealth mode—becoming invisible to all contacts
10.1.5. Finding Nearby Points of Interest
10.2. Programming with the Location Server Management API
10.2.1. Anatomy of Location Server Management APIs
10.2.2. Programming User Management
10.2.2.1. Adding users
10.2.2.2. Managing provisioned users
10.2.3. Programming Privacy Management
10.2.4. Programming Contact Management
10.2.5. Programming Find Nearby Category Management
10.3. Comparing Location Server API to Location Web Service API
10.4. Where Are We?
IV. MSN Virtual Earth
11. Programming with Virtual Earth
11.1. Anatomy of Virtual Earth
11.2. Programming with MapControl.js
11.2.1. Map Control Basics
11.2.1.1. Changing the map style
11.2.1.2. Trapping the Virtual Earth Map Control events
11.2.2. Map Interaction Using Map Control
11.2.2.1. Panning the map
11.2.2.2. Zooming the map
11.2.3. Displaying Your Data on Maps
11.2.3.1. Adding a pushpin
11.2.3.2. Removing pushpins
11.2.3.3. Adding pushpins from RSS feed
11.3. Where Are We?
A. Managing Your Data on MapPoint’s Customer Services Site
A.1. Using the MapPoint Customer Services Site
A.2. Using Customer Data Web Service
A.2.1. A Look at Customer Data Service APIs
A.2.1.1. Uploading data using Customer Data Service
A.2.1.1.1. Create a new upload job
A.2.1.1.2. Upload your data
A.2.1.1.3. Submit your data for processing
A.2.1.2. Polling for an upload job status
A.2.1.3. Downloading data using Customer Data Service
A.2.1.3.1. Create a new download job
A.2.1.3.2. Poll for the status of the job
A.2.1.3.3. Download the data file and save it to your hard drive
B. Working with Polygons
B.1. What Is a Polygon?
B.2. Polygon Relationships
B.3. Rules for Preparing Polygon Data
B.4. Polygon Data Schema Document
B.5. Polygon Data Sample Document
C. Implementing Spatial Search Using SQL Server
C.1. Understanding Proximity Search
C.2. Step 1: Create a Table to Store Your Business Location Data
C.3. Step 2: Calculate Axis Values for the BusinessEntities Table
C.4. Step 3: Create the FindNearby Stored Procedure
C.5. Step 4: Using Your Find Nearby Stored Procedure Using C#
D. Maps
About the Author
Colophon
Copyright
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
C. Implementing Spatial Search Using SQL Server
Next
Next Chapter
About the Author
Appendix D. Maps
Figure Color Plate-1. (
Figure 3-2
).Shaded area map
Figure Color Plate-2. (
Figure 3-5
).Multiple symbol map
Figure Color Plate-3. (
Figure 3-6
).Pie chart map
Figure Color Plate-4. (
Figure 3-7
).Sized pie chart map
Figure Color Plate-5. (
Figure 3-8
).Column chart map
Figure Color Plate-6. (
Figure 3-16
).Sized pie chart for sales comparison
Figure Color Plate-7. (
Figure 3-17
).A 60-minute drivetime zone around O’Hare Airport
Figure Color Plate-8. (
Figure 11-1
).Virtual Earth map
Figure Color Plate-9. (
Figure 11-2
).Map Control: Absolute positioning in the body
Figure Color Plate-10. (
Figure 11-3
).Map Control: Relative positioning in a table cell
Figure Color Plate-11. (
Figure 11-4
).Switch map style using the SetMapStyle method
Figure Color Plate-12. (
Figure 11-6
).Pushpin added using the AddPushpin method
Figure Color Plate-13. (
Figure 11-7
).The Space Needle shown as an icon over Seattle
Figure Color Plate-14. (
Figure 11-8
).Displaying pushpins from RSS feed
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset