330 likes | 793 Views
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.
E N D
CL17 Building Location-Aware Applications with Windows 7 and .NET Gavin Gear Program Manager Microsoft Corporation
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
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
Windows 7 Sensor Platform C++ Sensor App C++ Sensor App Applications Sensor API Windows 7 Sensor and Location Platform Sensor Class Extension Sensor Driver Sensor Driver Sensor Devices Sensor MCU Sensor MCU Accelerometer Ambient Light Sensor
Windows 7 Location Platform Location Gadget C++ Location App Applications IDispatch Win32 COM Location API Windows 7 Sensor and Location Platform Sensor API Lookup WAN GPS Location Sensors Default
Windows 7 Location Data Flow Location Gadget C++ Location App Applications IDispatch Win32 COM Location API Windows 7 Sensor and Location Platform Sensor API Lookup WAN GPS Location Sensors Default
Windows 7 Location Data Flow Location Gadget C++ Location App Applications IDispatch Win32 COM Location API Windows 7 Sensor and Location Platform Sensor API Lookup WAN GPS Location Sensors Default
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! Announcing New for Beta 2
.NET 4 Location API .NET Applications .NET Location APP .NET Location APP .NET 4 Location API .NET Framework Windows 7 Location API Windows 7 Location API Sensor API Lookup WAN GPS Location Sensors Default
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 High-Level Overview GeoLocation GeoCoordinate GeoLocationProvider CivicAddress GeoLocationStatus
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 • DoubleHorizontalAccuracy • DoubleVerticalAccuracy • 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
Suburban Fork Application Architecture Model View Model View Main Window Location View Model Map Layer Location Source Commands Globe Databinding Flag Panel
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 aliaslocext@microsoft.com
YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation forms online at MicrosoftPDC.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/learn Built by Developers for Developers….