Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless...

54
Mobile .Net Mobile .Net & & Mappoint Service Mappoint Service
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    3

Transcript of Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless...

Page 1: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Mobile .NetMobile .Net

&&

Mappoint ServiceMappoint Service

Page 2: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

.NET Mobile Overview

Imran MuhammadImran Muhammad

CS 898TCS 898TMobile and Wireless Networks Mobile and Wireless Networks

Summer 2005 Summer 2005 Wichita State UniversityWichita State University

Page 3: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Mobile Solution Scenarios

Mobile Office: Email, PIM, IM etcMobile Office: Email, PIM, IM etc SFA (Sales Force Automation): Mobile CRM, SFA (Sales Force Automation): Mobile CRM,

Order Entry etcOrder Entry etc Delivery Automation : Route Drivers, Taxis Delivery Automation : Route Drivers, Taxis

etcetc FFA (Field Force Automation): Service FFA (Field Force Automation): Service

Technicians, Installers etcTechnicians, Installers etc Warehouse Automation : Inventory Control Warehouse Automation : Inventory Control

etcetc Asset Tracking : Asset Mgmt, Bag Tracking Asset Tracking : Asset Mgmt, Bag Tracking

etcetc Mobile Government : Inspections, Law Mobile Government : Inspections, Law

Enforcement, Activity Reporting etcEnforcement, Activity Reporting etc Consumer : Games, Find Services etcConsumer : Games, Find Services etc

Page 4: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Windows Mobile Device Options

Pocket PC Phone EditionPocket PC Phone Edition SmartphoneSmartphone

UsageUsage Data first, with phone Data first, with phone functionalityfunctionality

Phone first with data Phone first with data functionality functionality

Target MarketTarget Market Consumer and LOBConsumer and LOB Consumer and Mobile Consumer and Mobile ProfessionalProfessional

Form FactorForm Factor Larger 240x320Larger 240x320 176x220 hi-res color screen176x220 hi-res color screen

InputInput Two-handed useTwo-handed use Touch screen and stylusTouch screen and stylus

One-handed navigationOne-handed navigation Keypad and joystickKeypad and joystick

ApplicationsApplications Full application suiteFull application suite No Microsoft PortraitNo Microsoft Portrait

Key ScenariosKey Scenarios Mobile OutlookMobile Outlook LOB ApplicationsLOB Applications

Mobile OutlookMobile Outlook Consumer ApplicationsConsumer Applications

Embedded Embedded DevelopmentDevelopment

.NET CF and eVC.NET CF and eVC eVC and .NET CF 2.0eVC and .NET CF 2.0

Page 5: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Mobile Mobile Application Application DevelopmentDevelopment

Page 6: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

The Application Universe

ToolsTools XML Web ServicesXML Web Services

ClientsClients

User E

xperien

ces & S

olu

tion

sU

ser Exp

eriences &

So

lutio

nsAuthenticationAuthentication CRMCRM Voice CallsVoice Calls

Enterprise DatabasesEnterprise Databases EmailEmail Data CallsData CallsLocation ServicesLocation Services BillingBilling etc…etc…

Page 7: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

.NET Framework Architecture

Windows COM+ Services

Common Language Runtime

Base Class Library

ADO.NET and XML

ASP.NET Windows Forms

Common Language Specification

VB C++ C# J# …

Page 8: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

What is theWhat is the

.NET Mobile .NET Mobile Framework ?Framework ?

Page 9: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Smart Device Smart Device ProgrammabilitProgrammabilit

yy

Smart Device Smart Device ProgrammabilitProgrammabilit

yy

ASP.NET Mobile ASP.NET Mobile ControlsControls

ASP.NET Mobile ASP.NET Mobile ControlsControls

Mobile Web Mobile Web BrowserBrowser

Mobile Web Mobile Web BrowserBrowser

.NET Device ProgrammingTwo approaches – one model, one tool

.NET Compact .NET Compact FrameworkFramework

.NET Compact .NET Compact FrameworkFramework

Local CodeLocal CodeRemote Web PagesRemote Web Pages

Device Operating SystemDevice Operating SystemDevice Operating SystemDevice Operating System

ASP.NET Mobile ASP.NET Mobile ControlsControls

ASP.NET Mobile ASP.NET Mobile ControlsControls

Mobile Web Mobile Web BrowserBrowser

Mobile Web Mobile Web BrowserBrowser

Remote Web PagesRemote Web Pages

Device Operating SystemDevice Operating SystemDevice Operating SystemDevice Operating System

Page 10: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

.NET Device ProgrammingSmart Device Programmability

ASP.NET Mobile ASP.NET Mobile ControlsControls

ASP.NET Mobile ASP.NET Mobile ControlsControls

Mobile Web Mobile Web BrowserBrowser

Mobile Web Mobile Web BrowserBrowser

Remote Web PagesRemote Web Pages

Device Operating SystemDevice Operating SystemDevice Operating SystemDevice Operating System

Smart Device Smart Device ProgrammabilitProgrammabilit

yy

Smart Device Smart Device ProgrammabilitProgrammabilit

yy

.NET Compact .NET Compact FrameworkFramework

.NET Compact .NET Compact FrameworkFramework

Local CodeLocal Code

Smart clientSmart clientSmart DevicesSmart Devices

Page 11: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

.NET CF Design Goals

CompatibilityCompatibility Strict compatibility with .NET Strict compatibility with .NET

FrameworkFramework Subset functionalitySubset functionality

Subset for devicesSubset for devices Give the developer Give the developer

a known targeta known target Enable skills andEnable skills and

code transfercode transfer Size/functionalitySize/functionality

.NET Compact .NET Compact FrameworkFramework

.NET Framework.NET Framework

Page 12: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

.NET Mobile Framework

Lightweight version of .NET FrameworkLightweight version of .NET Framework Designed for resource-constrained devicesDesigned for resource-constrained devices Compatible with VS.NET, C#, VB.NETCompatible with VS.NET, C#, VB.NET Runs applications securely on-deviceRuns applications securely on-device

High performance JIT compilerHigh performance JIT compiler Guarantees robustness and securityGuarantees robustness and security Highly interactive, offline, and networked Highly interactive, offline, and networked

experiencesexperiences Makes it easy to consume web servicesMakes it easy to consume web services

Tunable size and performanceTunable size and performance

Page 13: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Desktop .NET Framework

SystemSystem

System.DataSystem.Data System.XmlSystem.Xml

System.WebSystem.Web

GlobalizationGlobalization

TextText

SecuritySecurity

CollectionsCollections

ResourcesResources

ReflectionReflection

NetNet

IOIO

ThreadingThreading

DiagnosticsDiagnostics

ServiceProcessServiceProcess

ConfigurationConfiguration

DesignDesign

ADO.NETADO.NET SqlClientSqlClient

Xslt/XPathXslt/XPath

XmlDocumentXmlDocument

RuntimeRuntimeInteropServicesInteropServices

RemotingRemoting

SerializationSerialization

SerializationSerialization

ConfigurationConfiguration SessionStateSessionState

CachingCaching SecuritySecurity

ServicesServicesDescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols

UIUIHtmlControlsHtmlControls

WebControlsWebControls

System.DrawingSystem.Drawing

ImagingImaging

Drawing2DDrawing2D

TextText

PrintingPrinting

System.WinFormsSystem.WinForms

DesignDesign ComponentModelComponentModel

Reader/WritersReader/Writers

Page 14: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

.NET Compact Framework

SystemSystem

System.DataSystem.Data System.XmlSystem.Xml

System.WebSystem.Web

GlobalizationGlobalization

TextText

SecuritySecurity

CollectionsCollections

ResourcesResources

ReflectionReflection

NetNet

IOIO

ThreadingThreading

DiagnosticsDiagnostics

ServiceProcessServiceProcess

ConfigurationConfiguration

DesignDesign

ADO.NETADO.NET

SqlServerCeSqlServerCe

SqlClientSqlClient

Xslt/XPathXslt/XPath

XmlDocumentXmlDocument

RuntimeRuntimeInteropServicesInteropServices

RemotingRemoting

SerializationSerialization

SerializationSerialization

ConfigurationConfiguration SessionStateSessionState

CachingCaching SecuritySecurity

ServicesServicesDescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols

UIUIHtmlControlsHtmlControls

WebControlsWebControls

System.DrawingSystem.Drawing

ImagingImaging

Drawing2DDrawing2D

TextText

PrintingPrinting

System.WinFormsSystem.WinForms

DesignDesign ComponentModelComponentModel

Reader/WritersReader/Writers

Page 15: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Framework Size

Framework size (RAM or ROM)Framework size (RAM or ROM) ~1.5 MB~1.5 MB

Running RAM needsRunning RAM needs 1 MB+ (depends on app)1 MB+ (depends on app)

Typical application sizesTypical application sizes 50 - 500 KB50 - 500 KB Apps often smaller due to use of Apps often smaller due to use of

platform features in the frameworkplatform features in the framework

Page 16: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

What’s going on

Page 17: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

.NET CLR Common Features

Verifiable type safe executionVerifiable type safe execution No uninitialized variables, unsafe casts, No uninitialized variables, unsafe casts,

bad array indexing, bad pointer mathbad array indexing, bad pointer math Garbage CollectionGarbage Collection

ref-counting, reduced leaksref-counting, reduced leaks JIT compilationJIT compilation Error handling with exceptionsError handling with exceptions Common type systemCommon type system

Call, inherit, and source-level debug Call, inherit, and source-level debug across different languagesacross different languages

Page 18: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Compact CLR Differences Limited COM InteropLimited COM Interop

Good support for calling native DLLsGood support for calling native DLLs Support for calling a COM object through DLL Support for calling a COM object through DLL

wrapperswrappers No support for writing a COM / ActiveX object in No support for writing a COM / ActiveX object in

C# or Visual BasicC# or Visual Basic No Install-time JIT (nGen)No Install-time JIT (nGen) No Reflection EmitNo Reflection Emit No RemotingNo Remoting

Client web services is fully supportedClient web services is fully supported No Generic SerializationNo Generic Serialization

Datasets can be serialized to XMLDatasets can be serialized to XML Subsets of other areas of functionalitySubsets of other areas of functionality

Page 19: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Features not supported in .Net Mobile Framework ASP .Net: Primarily being a rich ASP .Net: Primarily being a rich

client platform, it doesn’t provide client platform, it doesn’t provide any ASP .Net support. any ASP .Net support.

Assemblies and GAC: There is no Assemblies and GAC: There is no support for multimodule assemblies.support for multimodule assemblies.

COM Interoperability: Even though COM Interoperability: Even though interoperability with COM objects is interoperability with COM objects is not supported, there are other ways not supported, there are other ways of accessing a COM object. Platform of accessing a COM object. Platform Invoke method can be used to call Invoke method can be used to call native DLLs which in turn can access native DLLs which in turn can access COM DLLs.COM DLLs.

Asynchronous Delegates: Not Asynchronous Delegates: Not supported.supported.

Page 20: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Reflection: No support for Reflection: No support for System.Reflection.Emit namespace.System.Reflection.Emit namespace.

XML Web Services: Developers XML Web Services: Developers cannot host web services under .Net cannot host web services under .Net Mobile Framework.Mobile Framework.

Remoting: Cannot develop Remoting Remoting: Cannot develop Remoting applications.applications.

Printing: No support for printing Printing: No support for printing functionalities.functionalities.

GDI+: Advance GDI support is GDI+: Advance GDI support is missing in Compact Framework.missing in Compact Framework.

XML: XML Schema validations and XML: XML Schema validations and XPath are not supported. XPath are not supported.

Page 21: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

The Development The Development EnvironmentEnvironment

Page 22: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.
Page 23: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Supported Controls

ButtonButtonCheckBoxCheckBoxComboBoxComboBoxContextMenuContextMenuDataGridDataGridDomainUpDownDomainUpDownFileOpenDialogFileOpenDialog

Supported controlsSupported controlsHScrollBarHScrollBar

ImageListImageList

LabelLabel

ListBoxListBox

ListViewListView

FileSaveDialog FileSaveDialog

MainMenuMainMenu

NumericUpDownNumericUpDown

PanelPanel

PictureBoxPictureBox

ProgressBarProgressBar

RadioButtonRadioButton

GroupBoxGroupBox RichTextBoxRichTextBox NotificationBubbleNotificationBubble

Print ControlsPrint Controls

StatusBarStatusBar

TabControlTabControl

TextBoxTextBox

TimerTimer

ToolBarToolBar

TreeViewTreeView

VScrollBarVScrollBar

Unsupported controls Unsupported controls

Unsupported controls – not available in CEUnsupported controls – not available in CE

CheckedListBoxCheckedListBox

ColorDialogColorDialog

ErrorProviderErrorProvider

HelpProviderHelpProvider

LinkLabelLinkLabel

NotifyIconNotifyIcon

ToolTipToolTip

SplitterSplitter

FontDialogFontDialog

Page 24: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Working with Working with resolution and resolution and rotation …rotation …

Page 25: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Fit Content to Window

PortraitPortraitLandscapeLandscape

Page 26: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Change the Content

Content may need to change when orientation Content may need to change when orientation changeschanges

PortraitPortraitLandscapeLandscape

Page 27: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Change the Layout

PortraitPortraitLandscapeLandscape

Page 28: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Design for Square

PortraitPortraitLandscapeLandscape

Page 29: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Networking

SocketsSockets Synchronous and asynchronousSynchronous and asynchronous Multiple protocolsMultiple protocols

StreamsStreams Built on top Built on top

of socketsof sockets Synchronous Synchronous

and asynchronousand asynchronous

HTTP request HTTP request and responseand response Use stream modelUse stream model Requires no user Requires no user

knowledge of HTTPknowledge of HTTP

Common Language RuntimeCommon Language Runtime

.NET Compact Framework.NET Compact Framework

Web ServicesWeb Services

HTTP Request/Response, Network StreamHTTP Request/Response, Network Stream

SocketsSockets

ApplicationsApplications

Page 30: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Data Characteristics

Amount of data to be storedAmount of data to be stored <100 kb: XML<100 kb: XML > SQL Server CE> SQL Server CE

Amount of data to be exchangedAmount of data to be exchanged < 1MB web services< 1MB web services

Small chunks more frequentlySmall chunks more frequently > Remote data access or merge > Remote data access or merge

replicationreplication Larger chunks less frequentlyLarger chunks less frequently

Page 31: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

XML XmlTextReader and XmlTextWriterXmlTextReader and XmlTextWriter

Forward-only parsers of XML dataForward-only parsers of XML data Better performance, no in-memory Better performance, no in-memory

cachingcaching Low memory requirementsLow memory requirements

XmlDocumentXmlDocument Parse entire documentParse entire document In memory traversalIn memory traversal Higher memory requirements; more Higher memory requirements; more

functionalityfunctionality

Page 32: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

ADO.NET Support Handling data offline with DataSetHandling data offline with DataSet Communicating DataSet with XMLCommunicating DataSet with XML Common data model from server to Common data model from server to

PC to devicePC to device Extensible ADO.NET provider modelExtensible ADO.NET provider model Included data providersIncluded data providers

SQL Server (System.Data.SqlClient)SQL Server (System.Data.SqlClient) SQL Server CE SQL Server CE

(System.Data.SqlServerCe)(System.Data.SqlServerCe)

Page 33: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Web Services Support Calling XML Web ServicesCalling XML Web Services Synchronous and asynchronous Synchronous and asynchronous

invocationinvocation Basic and Digest authenticationBasic and Digest authentication Secure Sockets Layer support for Secure Sockets Layer support for

encryption (SSL)encryption (SSL) Custom SOAP headersCustom SOAP headers SOAP Extension FrameworkSOAP Extension Framework

Page 34: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Data Access in .NET Mobile

Active Data Object Active Data Object (ADO) .NET(ADO) .NET Mobile applications can access Mobile applications can access

Microsoft SQL Server 2000 on Microsoft SQL Server 2000 on remote servers or access a SQL remote servers or access a SQL Server CE locally on the deviceServer CE locally on the device

Disconnected mode supportDisconnected mode support SQL Server CE lets applications SQL Server CE lets applications

cache large volumes of data cache large volumes of data (tens of megabytes), read, and (tens of megabytes), read, and update in disconnected modeupdate in disconnected mode

SQL Server CE provides SQL Server CE provides synchronization mechanisms synchronization mechanisms for changes made upon for changes made upon reconnectionreconnection

SQL Server

Internet Information Server (IIS)

Internet

SQL Server CE

• Caching• Synch

Page 35: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

SQLCE

SQL Server CE SQL Server CE Supports large datasets, rich queries, Supports large datasets, rich queries,

transactionstransactions Small footprint, DBMS can live on Small footprint, DBMS can live on

memory cardmemory card Some limitations (no stored Some limitations (no stored

procedures, triggers)procedures, triggers) Synchronization through:Synchronization through:

Replication (RDA or Merge)Replication (RDA or Merge) XML Web Service SynchronizationXML Web Service Synchronization

Page 36: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

2

Service SQL

Demonstration : .Net & services

MapPoint WebService

FedEx WebService

Google WebService

3

3

3

31

XML

4XML

5

Page 37: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

MapPoint Web Service

Microsoft MapPoint Web Service is Microsoft MapPoint Web Service is an XML Web service with a SOAP API an XML Web service with a SOAP API that allows you to add location-that allows you to add location-based functionality to your based functionality to your application that calls on the high-application that calls on the high-quality maps, as well as the location-quality maps, as well as the location-finding and routing capabilities of finding and routing capabilities of MapPoint Web Service. MapPoint MapPoint Web Service. MapPoint Web Service is comprised of four Web Service is comprised of four constituent services: Common, Find, constituent services: Common, Find, Render, and Route. Render, and Route.

Page 38: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Introduction to the MapPoint Web Services Web Services providing location-based Web Services providing location-based

servicesservices MapsMaps Driving DirectionsDriving Directions Proximity SearchesProximity Searches

Current Version 3.5Current Version 3.5 Can integrate your own, custom, data with Can integrate your own, custom, data with

the data providedthe data provided Store locationsStore locations Custom IconsCustom Icons

Page 39: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

MapPoint Web Service 3.5

Enriches your application by making Enriches your application by making mapping a simple “ingredient”mapping a simple “ingredient”

.NET Web Service API.NET Web Service API Find, Render, Route servicesFind, Render, Route services Developed and hosted by MicrosoftDeveloped and hosted by Microsoft 20M+ transactions 20M+ transactions per dayper day

Extensive Geographic DataExtensive Geographic Data Coverage in 38 countries worldwideCoverage in 38 countries worldwide More than 15 million Points of InterestMore than 15 million Points of Interest

Page 40: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Web Service API

Staging WSDL File atStaging WSDL File athttp://staging.mappoint.net/standard-30/mappoint.whttp://staging.mappoint.net/standard-30/mappoint.wsdlsdl

Production environment also Production environment also availableavailable

Sign up for Eval AccountSign up for Eval Account http://msdn.microsoft.com/mappointhttp://msdn.microsoft.com/mappoint MSDN Subscribers get 12 months or 50,000 hitsMSDN Subscribers get 12 months or 50,000 hits

Page 41: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Web Service API

Common ServiceCommon Service Find ServiceFind Service Render ServiceRender Service Route ServiceRoute Service Customer Data ServiceCustomer Data Service

Page 42: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Web Service API

Common ServiceCommon Service utility classes, methods and properties utility classes, methods and properties

that are common to the find, route, and that are common to the find, route, and render services, or are basic utility render services, or are basic utility functionsfunctions used by the other services used by the other services

Address classAddress class contains the constituent contains the constituent parts of an address: street, city, other parts of an address: street, city, other city, region, country, and postal code. city, region, country, and postal code.

Page 43: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Web Service API

Find ServiceFind Service Locate addresses and points of interestLocate addresses and points of interest Get information about specific Lat/LongGet information about specific Lat/Long Find locations near a specific point or Find locations near a specific point or

along a routealong a route Find addresses and geographic entitiesFind addresses and geographic entities Find POI spatially or along routesFind POI spatially or along routes Parse addressesParse addresses

Page 44: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Find Service The Find service allows you to locate The Find service allows you to locate

addresses, geographic entities, addresses, geographic entities, latitude and longitude coordinates, latitude and longitude coordinates, and points of interest from MapPoint and points of interest from MapPoint Web Service data, as well as parse Web Service data, as well as parse addresses and return location addresses and return location information for a specified latitude information for a specified latitude and longitude coordinate.and longitude coordinate.

FindServiceSoap class contains the methods and properties related to calling the Find service.

FindAddress method returns a list of found addresses based on an input address,

in order of how well the results match the search criteria.

FindAddressSpecification class contains the search specification used in the

FindServiceSoap.FindAddress method. Specifies the address to find, the search options to use, and

the data source from which to get results.

FindServiceSoap class contains the methods and properties related to calling the Find service.

FindAddress method returns a list of found addresses based on an input address,

in order of how well the results match the search criteria.

FindAddressSpecification class contains the search specification used in the

FindServiceSoap.FindAddress method. Specifies the address to find, the search options to use, and

the data source from which to get results.

Page 45: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Web Service API (cont)

Render ServiceRender Service Render maps showing routes and Render maps showing routes and

locationslocations Set map size, view and controlsSet map size, view and controls Add pushpins (including custom icons)Add pushpins (including custom icons) Select points on a map, get location Select points on a map, get location

information about points on a map, pan information about points on a map, pan and zoom a rendered map, and create and zoom a rendered map, and create clickable maps.clickable maps.

30 map styles available30 map styles available 4 designed specifically for devices4 designed specifically for devices

Page 46: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Render Service

RenderServiceSoap class contains the methods and properties related to calling the Render service.

MapSpecification class contains the specifications for rendering a map. Includes the data source to use,

map views, pushpins, route, selected entities, and map options.

GetMap method returns map images, map views, and hot area definitions based on map options.

GetBestMapView method returns the best map view for a selected location or set of locations. The best

map view is the largest scale map that contains all the desired locations.

MapOptions class contains the map rendering options used in the RenderServiceSoap.GetMap method.

Specifies the the data source, the image format, panning and zooming factors, and identification of the

requested map as an overview map.

Pushpin class contains the icon, label, location, and user-defined identification number of a pushpin.

A Pushpin object is used to mark a location on a map image, and the location can be a place, address, or

latitude and longitude coordinate.

RenderServiceSoap class contains the methods and properties related to calling the Render service.

MapSpecification class contains the specifications for rendering a map. Includes the data source to use,

map views, pushpins, route, selected entities, and map options.

GetMap method returns map images, map views, and hot area definitions based on map options.

GetBestMapView method returns the best map view for a selected location or set of locations. The best

map view is the largest scale map that contains all the desired locations.

MapOptions class contains the map rendering options used in the RenderServiceSoap.GetMap method.

Specifies the the data source, the image format, panning and zooming factors, and identification of the

requested map as an overview map.

Pushpin class contains the icon, label, location, and user-defined identification number of a pushpin.

A Pushpin object is used to mark a location on a map image, and the location can be a place, address, or

latitude and longitude coordinate.

Page 47: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

MapView class is an abstract class representing a requested map view. Each of the derived classes defines

A map view using a different measure: a set of location points, a bounding rectangle, height and width, or

scale.

MapImage class contains a map returned from the RenderServiceSoap.GetMap method. Includes the image

or a URL to get the image, map view representations, and the hot areas associated with pushpins.

MapSpecification mapSpec = new MapSpecification();

mapSpec.DataSourceName = “MapPoint.AP”;

mapSpec.Options… desired size and style

mapSpec.Views = my MapViewRepresentation object

MapImage[ ] maps = RenderService.GetMap(mapSpec);

Image mapImage =

new Bitmap(MemoryStream(maps[0].MimeData.Bits)); Render Service

MapView class is an abstract class representing a requested map view. Each of the derived classes defines

A map view using a different measure: a set of location points, a bounding rectangle, height and width, or

scale.

MapImage class contains a map returned from the RenderServiceSoap.GetMap method. Includes the image

or a URL to get the image, map view representations, and the hot areas associated with pushpins.

MapSpecification mapSpec = new MapSpecification();

mapSpec.DataSourceName = “MapPoint.AP”;

mapSpec.Options… desired size and style

mapSpec.Views = my MapViewRepresentation object

MapImage[ ] maps = RenderService.GetMap(mapSpec);

Image mapImage =

new Bitmap(MemoryStream(maps[0].MimeData.Bits)); Render Service

Render Service

Page 48: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Web Service API

Route ServiceRoute Service Generate driving directions and routes Generate driving directions and routes

including setting waypointsincluding setting waypoints Calculates routes and itineraryCalculates routes and itinerary Shortest or Quickest route optionsShortest or Quickest route options Use CalculateSimpleRoute for LatLong Use CalculateSimpleRoute for LatLong

point based routespoint based routes

Page 49: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Route Service

RouteServiceSoap class contains the methods and properties related to calling the Route service.

Route class contains a route of two waypoints (start and end points). A Route can include a specification, a set of directions, and/or a calculated route representation.

CalculateSimpleRoute method returns a route based on specified latitude and longitude coordinates.

Getting MapPoint

Route myRoute = RouteService.CalculateSimpleRoute(LatLong[], "MapPoint.AP", SegmentPreference.Quickest);

Segment tripSegment = myRoute.Itinerary.Segments[0];foreach (Direction step tripSegment.Directions)

Console.WriteLine(step.Instruction);

RouteServiceSoap class contains the methods and properties related to calling the Route service.

Route class contains a route of two waypoints (start and end points). A Route can include a specification, a set of directions, and/or a calculated route representation.

CalculateSimpleRoute method returns a route based on specified latitude and longitude coordinates.

Getting MapPoint

Route myRoute = RouteService.CalculateSimpleRoute(LatLong[], "MapPoint.AP", SegmentPreference.Quickest);

Segment tripSegment = myRoute.Itinerary.Segments[0];foreach (Direction step tripSegment.Directions)

Console.WriteLine(step.Instruction);

Page 50: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Route Service

DirectionsDirections kmkm

StarStartt

Depart 1 Epping Rd, North Ryde, NSW 2113 on Epping Rd Depart 1 Epping Rd, North Ryde, NSW 2113 on Epping Rd (West)(West)

0.60.6

11 Turn LEFT (North) onto M2 [M2 Motorway]Turn LEFT (North) onto M2 [M2 Motorway] 3.9 3.9

22 *Toll road* Stay on M2 [M2 Motorway] (North)*Toll road* Stay on M2 [M2 Motorway] (North) 0.1 0.1

33 Stay on M2 [M2 Motorway] (North-West)Stay on M2 [M2 Motorway] (North-West) 6.6 6.6

44 Turn LEFT (South) onto 7 [Cumberland Hwy]Turn LEFT (South) onto 7 [Cumberland Hwy] 6.6 6.6

55 Turn RIGHT (North) onto Ramp [Cumberland Highway Exit]Turn RIGHT (North) onto Ramp [Cumberland Highway Exit] 0.2 0.2

66 Bear LEFT (North-West) onto 7 [Cumberland Hwy]Bear LEFT (North-West) onto 7 [Cumberland Hwy] 1.2 1.2

77 Road name changes to Cumberland Hwy [James Ruse Dr]Road name changes to Cumberland Hwy [James Ruse Dr] 0.2 0.2

88 Road name changes to 7 [Cumberland Hwy]Road name changes to 7 [Cumberland Hwy] 1.8 1.8

99 Turn LEFT to stay on 7 [Cumberland Hwy]Turn LEFT to stay on 7 [Cumberland Hwy] 0.5 0.5

1010 ……

Page 51: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Web Service API

Customer Data APICustomer Data API Programmatic upload of custom dataProgrammatic upload of custom data

Page 52: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Resources

http://http://msdn.microsoft.commsdn.microsoft.com/mobility/mobility http://www.microsoft.com/mobilehttp://www.microsoft.com/mobile http://http://

microsoft.public.dotnet.framework.compactfrmicrosoft.public.dotnet.framework.compactframework.comamework.com

http://http://microsoft.public.smartphone.developer.commicrosoft.public.smartphone.developer.com

http://http://microsoft.public.pocketpc.developer.commicrosoft.public.pocketpc.developer.com

http://www.microsoft.com/mappoint/webservichttp://www.microsoft.com/mappoint/webservice/default.mspe/default.msp

http://msdn.microsoft.com/mappointhttp://msdn.microsoft.com/mappoint

http://blogs.msdn.com/cthota/http://blogs.msdn.com/cthota/

Page 53: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Q&AQ&A

Page 54: Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.

Thank you…

Imran MuhammadImran Muhammad

[email protected]@cs.wichita.edu