Download - demo Default WANGPSLookup Default WANGPS
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
mand
s
Location 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/Locationwww.microsoft.com/WHDC/Sensors> Documentation> Whitepapers> Developer forum> Blogs
> Location inquiries [email protected]
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.