Building Location-Aware Applications with Windows 7 and .NET

Post on 25-Feb-2016

46 views 3 download

Tags:

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 of Building Location-Aware Applications with Windows 7 and .NET

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

CL17

Garmin 60csx

Bing Maps vs. Reality Part 1

Real Boiling Lake Bing Maps 3D Boiling Lake

Bing Maps vs. Reality Part 2

Real Seattle Bing Maps 3D Seattle

What About Location Awareness on the PC?

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

Demo: Tour of Location in Windows 7

demo

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

Windows 7 Location Platform

Default WANGPS Lookup

Location GadgetC++ Location App

LocationSensors

Windows 7Sensor andLocation Platform

Applications

Win32 COM IDispatch

Location API

Sensor API

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

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

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

.NET 4 Will Include a Managed Location API!

AnnouncingNew for Beta 2

.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

New Assembly: System.Device.dll

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

System.Device.Location Object Model

GeoLocationProvider

GeoCoordinate

CivicAddress

GeoLocation

GeoLocationStatus

High-Level Overview

GeoLocationProvider Overview> Properties

> GeoLocation Location> GeoLocationStatus Status> Double MovementThreshold

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

> Events> LocationChanged> StatusChanged

> Implements INotifyPropertyChanged

GeoLocation Overview> Properties

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

> Methods> GeoLocation(GeoCoordinate) + 3

overloads> Members

> GeoLocation Unknown

GeoCoordinate Overview> Properties

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

> Methods> GeoCoordinate(latitude, longitude) + 3

overloads> Members

> GeoCoordinate Unknown

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

Writing a Location-Aware .NET application

Restaurant Finder WPF App – “Suburban Fork”

Suburban Fork Application Architecture

Main Window

Location View Model Map Layer

Globe

Flag Panel

Databinding Com

man

dsLocation Source

Model View Model View

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

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

> Conditional permissions prompting

Coding Exercise

Adding location-awareness to the Suburban Fork restaurant finder application

.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

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

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

Resources> WHDC site for Sensors/Location

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

> Location inquiries aliaslocext@microsoft.com

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

forms online atMicrosoftPDC.com

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….

© 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.