building location-aware applications with windows 7 and .net
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 PresentationTRANSCRIPT
![Page 1: Building Location-Aware Applications with Windows 7 and .NET](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/1.jpg)
Building Location-Aware Applications with Windows 7 and .NETGavin GearProgram ManagerMicrosoft Corporation
CL17
![Page 2: Building Location-Aware Applications with Windows 7 and .NET](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/2.jpg)
Garmin 60csx
![Page 3: Building Location-Aware Applications with Windows 7 and .NET](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/3.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/4.jpg)
Bing Maps vs. Reality Part 2
Real Seattle Bing Maps 3D Seattle
![Page 5: Building Location-Aware Applications with Windows 7 and .NET](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/5.jpg)
What About Location Awareness on the PC?
![Page 6: Building Location-Aware Applications with Windows 7 and .NET](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/6.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/7.jpg)
Demo: Tour of Location in Windows 7
demo
![Page 8: Building Location-Aware Applications with Windows 7 and .NET](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/8.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/9.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/10.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/11.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/12.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/13.jpg)
.NET 4 Will Include a Managed Location API!
AnnouncingNew for Beta 2
![Page 14: Building Location-Aware Applications with Windows 7 and .NET](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/14.jpg)
.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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/15.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/16.jpg)
System.Device.Location Object Model
GeoLocationProvider
GeoCoordinate
CivicAddress
GeoLocation
GeoLocationStatus
High-Level Overview
![Page 17: Building Location-Aware Applications with Windows 7 and .NET](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/17.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/18.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/19.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/20.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/21.jpg)
Writing a Location-Aware .NET application
![Page 22: Building Location-Aware Applications with Windows 7 and .NET](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/22.jpg)
Restaurant Finder WPF App – “Suburban Fork”
![Page 23: Building Location-Aware Applications with Windows 7 and .NET](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/23.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/24.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/25.jpg)
Coding Exercise
Adding location-awareness to the Suburban Fork restaurant finder application
![Page 26: Building Location-Aware Applications with Windows 7 and .NET](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/26.jpg)
.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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/27.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/28.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/29.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/30.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/31.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/32.jpg)
© 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](https://reader036.vdocument.in/reader036/viewer/2022070501/56816930550346895de07b00/html5/thumbnails/33.jpg)