180 likes | 412 Vues
Bing Maps and Location Services. Rob S. Miles | Microsoft MVP | University of Hull, UK Andy Wigley | Microsoft MVP | Appa Mundi . Session 7.0. Course Schedule. Session 1 – Tuesday, August 23, 2011 Building Windows Phone Apps with Visual Studio 2010
E N D
Bing Maps and Location Services Rob S. Miles | Microsoft MVP | University of Hull, UK Andy Wigley | Microsoft MVP | Appa Mundi Session 7.0
Course Schedule • Session 1 – Tuesday, August 23, 2011 • Building Windows Phone Apps with Visual Studio 2010 • Silverlight on Windows Phone—Introduction • Silverlight on Windows Phone—Advanced • Using Expression to Build Windows Phone Interfaces • Windows Phone Fast Application Switching • Windows Phone Multi-tasking & Background Tasks • Using Windows Phone Resources (Bing Maps, Camera, etc.) • Session 2 – Wednesday, August 24, 2011 • XNA for Windows Phone • Application Data Storage on Windows Phone • Using Networks with Windows Phone • Using Windows Azure with Windows Phone • Tiles & Notifications on Windows Phone • Selling a Windows Phone Application
Topics Silverlight overview The Metro design style Silverlight Components Creating a Silverlight Application Silverlight and XAML Introduction to Silverlight Layout Components and Events
Features Smart device + cloud service Balance accuracy with time & power Consistent API across platforms
Location Sources GPS + Accuracy - Power - Speed - Indoors - Accuracy + Power + Speed - Wilderness WiFi +/- Accuracy +/- Power +/- Speed +/- Urban areas Location Services Cell Towers
Code and API // Initialize the GeoCoordinateWatcher. watcher = newGeoCoordinateWatcher(GeoPositionAccuracy.High); watcher.MovementThreshold= 0.5; // Reduce 'noise' watcher.PositionChanged+= newEventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged); watcher.StatusChanged+= newEventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);
Location on Emulator Windows Phone SDK 7.1 Emulator comes with Location simulator
Silverlight Bing Map Control • Full parity with Silverlight Bing Map control http://www.microsoft.com/maps/isdk/Silverlight/ • Optimize for Windows Phone • Touch Enabled • Pinch – zoom in/out • Translate • Caching
BingMapsTask Display.Click += ( o, e ) => { var longitude = Double.Parse(Long.Text);var latitude = Double.Parse(Lat.Text);varbingMapsTask = new BingMapsTask() {Center = new GeoCoordinate( longitude, latitude ),SearchTerm = Search.Text,ZoomLevel = Double.Parse( Zoom.Text ) };bingMapsTask.Show(); }; BingMapsTask makes launching the built-in Bing Maps application easy
BingMapsDirectionsTask // create the task var task = new BingMapsDirectionsTask(); task.Start = new LabeledMapLocation(startLabel, startCoordinate); task.End = new LabeledMapLocation(endLabel, endCoordinate); task.Show(); Launching built-in Bing Maps tasks with directions enabled is trivial too! If you do not specify one of Start or End parameters it defaults missing parameter to your current location Can also specify only the name of a location (but no coordinate) and it will automatically do a geocoding service lookup and display a selection list if multiple matches