building location-aware applications with windows 7 and .net

33
Building Location-Aware Applications with Windows 7 and .NET Gavin Gear Program Manager Microsoft Corporation CL17

Upload: loyal

Post on 25-Feb-2016

47 views

Category:

Documents


3 download

DESCRIPTION

CL17. Building Location-Aware Applications with Windows 7 and .NET. Gavin Gear Program Manager Microsoft Corporation. Garmin 60csx. Bing Maps vs. Reality Part 1. Bing Maps 3D Boiling Lake. Real Boiling Lake. Bing Maps vs. Reality Part 2. Real Seattle. Bing Maps 3D Seattle. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Building Location-Aware Applications with Windows 7  and .NET

Building Location-Aware Applications with Windows 7 and .NETGavin GearProgram ManagerMicrosoft Corporation

CL17

Page 2: Building Location-Aware Applications with Windows 7  and .NET

Garmin 60csx

Page 3: Building Location-Aware Applications with Windows 7  and .NET

Bing Maps vs. Reality Part 1

Real Boiling Lake Bing Maps 3D Boiling Lake

Page 4: Building Location-Aware Applications with Windows 7  and .NET

Bing Maps vs. Reality Part 2

Real Seattle Bing Maps 3D Seattle

Page 5: Building Location-Aware Applications with Windows 7  and .NET

What About Location Awareness on the PC?

Page 6: Building Location-Aware Applications with Windows 7  and .NET

Location Challenges on the PC (pre-Windows 7)

> COM ports> Lack security model> Exclusive application access model> Proprietary data formats

> Vertical solutions and Proprietary APIs

Page 7: Building Location-Aware Applications with Windows 7  and .NET

Demo: Tour of Location in Windows 7

demo

Page 8: Building Location-Aware Applications with Windows 7  and .NET

Windows 7 Sensor PlatformC++ Sensor App

Sensor API

C++ Sensor App

Sensor Devices

Windows 7Sensor andLocation Platform

Applications

Sensor MCU

Sensor Driver

Sensor Class Extension

Sensor MCU

Sensor Driver

Accelerometer Ambient Light Sensor

Page 9: Building Location-Aware Applications with Windows 7  and .NET

Windows 7 Location Platform

Default WANGPS Lookup

Location GadgetC++ Location App

LocationSensors

Windows 7Sensor andLocation Platform

Applications

Win32 COM IDispatch

Location API

Sensor API

Page 10: Building Location-Aware Applications with Windows 7  and .NET

Lookup

Windows 7 Location Data Flow

Default WANGPS

Location GadgetC++ Location App

LocationSensors

Windows 7Sensor andLocation Platform

Applications

Win32 COM IDispatch

Location API

Sensor API

Page 11: Building Location-Aware Applications with Windows 7  and .NET

Windows 7 Location Data Flow

Default WANGPS Lookup

Location GadgetC++ Location App

LocationSensors

Windows 7Sensor andLocation Platform

Applications

Win32 COM IDispatch

Location API

Sensor API

Page 12: Building Location-Aware Applications with Windows 7  and .NET

Windows 7 Location Summary> Standard platform for devices

and applications> Windows 7 Sensor DDI (devices)> Windows 7 Location API (applications)

> Security model and UI> Simultaneous application access> Standardized data types

> Geo-position > Civic address

Page 13: Building Location-Aware Applications with Windows 7  and .NET

.NET 4 Will Include a Managed Location API!

AnnouncingNew for Beta 2

Page 14: Building Location-Aware Applications with Windows 7  and .NET

.NET 4 Location API

Default WANGPS Lookup

.NET Location APP

Windows 7 Location API

.NET Location APP

LocationSensors

Windows 7Location API

.NET Applications

.NET 4 Location API.NET Framework

Sensor API

Page 15: Building Location-Aware Applications with Windows 7  and .NET

New Assembly: System.Device.dll

> Represents the device/PC> Root namespace: System.Device> Installed by default with .NET 4> Supported in Visual Studio 2010

Page 16: Building Location-Aware Applications with Windows 7  and .NET

System.Device.Location Object Model

GeoLocationProvider

GeoCoordinate

CivicAddress

GeoLocation

GeoLocationStatus

High-Level Overview

Page 17: Building Location-Aware Applications with Windows 7  and .NET

GeoLocationProvider Overview> Properties

> GeoLocation Location> GeoLocationStatus Status> Double MovementThreshold

> Methods> GeoLocationProvider() +1 overload> Start()> Stop()

> Events> LocationChanged> StatusChanged

> Implements INotifyPropertyChanged

Page 18: Building Location-Aware Applications with Windows 7  and .NET

GeoLocation Overview> Properties

> Double Heading> Double Speed> GeoCoordinate Coordinate> CivicAddress Address> DateTimeOffset Timestamp

> Methods> GeoLocation(GeoCoordinate) + 3

overloads> Members

> GeoLocation Unknown

Page 19: Building Location-Aware Applications with Windows 7  and .NET

GeoCoordinate Overview> Properties

> Double Latitude> Double Longitude> Double HorizontalAccuracy> Double VerticalAccuracy> Double Altitude

> Methods> GeoCoordinate(latitude, longitude) + 3

overloads> Members

> GeoCoordinate Unknown

Page 20: Building Location-Aware Applications with Windows 7  and .NET

CivicAddress Overview> Properties

> String AddressLine1> String AddressLine2> String Building> String City> String CountryRegion> String FloorLevel> String PostalCode> String StateProvince

> Methods> CivicAddress(String addressLine1, …)

> Members> CivicAddress Unknown

Page 21: Building Location-Aware Applications with Windows 7  and .NET

Writing a Location-Aware .NET application

Page 22: Building Location-Aware Applications with Windows 7  and .NET

Restaurant Finder WPF App – “Suburban Fork”

Page 23: Building Location-Aware Applications with Windows 7  and .NET

Suburban Fork Application Architecture

Main Window

Location View Model Map Layer

Globe

Flag Panel

Databinding Com

man

dsLocation Source

Model View Model View

Page 24: Building Location-Aware Applications with Windows 7  and .NET

Location Coding Considerations> Hooking up System.Device.dll> Using GeoLocationProvider

> Accessing Location data and updates> Handling status and status updates

> Conditional permissions prompting

Page 25: Building Location-Aware Applications with Windows 7  and .NET

Coding Exercise

Adding location-awareness to the Suburban Fork restaurant finder application

Page 26: Building Location-Aware Applications with Windows 7  and .NET

.NET 4 Location Summary> .NET 4 includes a location API as of

Beta 2> Assembly: System.Device.dll> Namespace: System.Device

> Windows 7 light up feature (Location data not available down-level)

> Provides seamless access to default location, as well as hardware and software location providers

Page 27: Building Location-Aware Applications with Windows 7  and .NET

Changes to Come in .NET 4 RC Build> Changes in RC Location API

> Name changes> Address data access changes> Separation of status and permissions> Other minor changes

Page 28: Building Location-Aware Applications with Windows 7  and .NET

Call to Action> Install Windows 7> Install Visual Studio .NET 2010 Beta 2> Build Location-aware applications

using .NET 4> Provide feedback to Microsoft about

your experiences

Page 29: Building Location-Aware Applications with Windows 7  and .NET

Resources> WHDC site for Sensors/Location

www.microsoft.com/WHDC/Sensors> Documentation> Whitepapers> Developer forum> Blogs

> Location inquiries [email protected]

Page 30: Building Location-Aware Applications with Windows 7  and .NET

YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation

forms online atMicrosoftPDC.com

Page 31: Building Location-Aware Applications with Windows 7  and .NET

Learn More On Channel 9> Expand your PDC experience through

Channel 9.

> Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses.

channel9.msdn.com/learnBuilt by Developers for Developers….

Page 32: Building Location-Aware Applications with Windows 7  and .NET

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 33: Building Location-Aware Applications with Windows 7  and .NET