SlideShare ist ein Scribd-Unternehmen logo
1 von 85
To boldly go
where no man
  has gone
   before:
Exploring Geo
 in iPhone &
   Android

 Apr 1, 2010 Thu
 2:50 PM San Jose
To boldly go where no man
     has gone before:
Exploring Geo in iPhone & Android




   Stardate: -312751.7313546423
Three Years Ago
         Jan 2007
Stardate: -315974.3150684931
Widescreen iPod with touch controls
    Stardate: -315974.3150684931
Revolutionary mobile phone
Stardate: -315974.3150684931
Breakthrough internet communicator
    Stardate: -315974.3150684931
iPod       Phone       Internet



Stardate: -315974.3150684931
iPhone

Stardate: -315974.3150684931
Chief Science Officer




   Stardate: -314000
Data
              Data Communication
Portable
Sensing      Analysis   s

           Stardate: -314000
Tricorder

  Stardate: -314000
iPhone

Stardate: -315974.3150684931
Tricorder

  Stardate: -314000
Tricorder             iPhone
      Stardate: -314000
Locator Scanner Compass



Recorder Sensor Search



 Text    Data      Voice
    Stardate: -314000
Phone          Camera
                         (Audio)      (Photo / Video)
         GPS
        (Geo)
    Magentometer
     (Compass)

  Accelerometer
       (XZY)                       Touch
(Device Orientation)

    Wireless Bluetooth                 Data Plan / WiFi
           (File)                       (Web / Email)
         External Accessory Microphone       SMS
               (Data)         (Audio)       (Data)
                 iPhone’s Anatomy
Phone         Camera
                         (Audio)     (Photo / Video)
         GPS
        (Geo)
    Magentometer
     (Compass)

  Accelerometer
       (XZY)                       Touch
(Device Orientation)

    Wireless Bluetooth                Data Plan / WiFi
           (File)                      (Web / Email)
         External Accessory Microphone      SMS
               (Data)         (Audio)      (Data)
                  Portable Sensors
iPhone SDK




Xcode           Interface Builder




        Data Analysis
Phone          Camera
                         (Audio)      (Photo / Video)
         GPS
        (Geo)
    Magentometer
     (Compass)

  Accelerometer
       (XZY)                       Touch
(Device Orientation)

    Wireless Bluetooth                 Data Plan / WiFi
           (File)                       (Web / Email)
         External Accessory Microphone       SMS
               (Data)         (Audio)       (Data)
                Data Communications
Stardate: -315974.3150684931
MapKit      Core
           Location



iPhone SDK Frameworks
iPhone SDK Frameworks


        Cocoa Touch Layer

           Media Layer

        Core Services Layer

          Core OS Layer


iPhone SDK Frameworks
iPhone SDK Frameworks


        Cocoa Touch Layer
              Map Kit



           Media Layer

        Core Services Layer
              Core Location


          Core OS Layer


iPhone SDK Frameworks
CLLocation Manager
        CLLocation
        CLHeading

Core Location Framework: Class
UIViewController Interface
                   CLLocationManager




#import <CoreLocation/CoreLocation.h>
@interface GetLocationViewController :
UIViewController <CLLocationManagerDelegate> {
   CLLocationManager *locationManager;
   CLLocation *bestEffortAtLocation;
}
@property (nonatomic, retain) CLLocationManager
*locationManager;
@property (nonatomic, retain) CLLocation
*bestEffortAtLocation;



     Core Services Layer: Core Location
ViewController Method
                    CLLocationManager




// Create the manager object
self.locationManager = [[[CLLocationManager alloc]
init] autorelease];
locationManager.delegate = self;
locationManager.desiredAccuracy = [[setupInfo
objectForKey:kSetupInfoKeyAccuracy] doubleValue];
[locationManager startUpdatingLocation];




     Core Services Layer: Core Location
CLLocation Class
                Constants
              CLLocationDegrees

           CLLocationCoordinate2D

              CCLocationAccuracy

              Accuracy Constants

               CLLocationSpeed

              CLLocationDirection

Core Services Layer: Core Location
Accuracy Constants
                                 CLLocation Class


                    locationManager.desiredAccuracy
                    is the most important property of
                   Location Manager. It determines the
                      amount of power it consumed.

   Constant values are to specify the accuracy of a location.


                kCLLocationAccuracyBest
         Best
                kCLLocationAccuracyNearestTenMete
  10   Meters
                rs
 100   Meters
                kCLLocationAccuracyHundredMeters
1000   Meters
                kCLLocationAccuracyKilometer
3000   Meters
                kCLLocationAccuracyThreeKilometers


   Core Services Layer: Core Location
CLLocation Class
                        Constants
                      CLLocationDegrees

Delivers a latitude or longitude value specified in
degrees. Data type is double.


                        CLLocationSpeed

Delivers the speed at which the device is moving in
meters per second. Data type is double.



   Core Services Layer: Core Location
CLLocation Class
                       Constants
                     CLLocationDirection

Delivers a direction that is measured in degrees
and relative to true north. Data type is double.



   North is 0 degrees
   East is 90 degrees
   South is 180 degrees
   Any “-” value indicates an invalid direction



   Core Services Layer: Core Location
Clockwise




CCLocationDirection
CLLocation Class
                 Properties
                    altitude

                  coordinate

                    course

              horizontalAccuracy

                     speed

                  timestamp

                verticalAccuracy
Core Services Layer: Core Location
Read-Only
                    altitude

                  coordinate

                    course

              horizontalAccuracy

                     speed

                  timestamp

                verticalAccuracy
Core Services Layer: Core Location
Measurement Units
                altitude (meters)

                  coordinate

                course (degrees)

          horizontalAccuracy (meters)

             speed (meters per sec)

              timestamp (NSDate)

           verticalAccuracy (meters)
Core Services Layer: Core Location
CLLocation Manager
        CLLocation
        CLHeading

Core Location Framework: Class
CLLocationManager
                       Core Location



        Create a CLLocationManager object to
               get heading by invoking
                 [CLLocationManager
               startUpdatingHeading].

       iPhone 3GS contains a magnetometer - a
         magnetic field detector. It displays the
         raw x, y, and z magnetometer values.
          Magnitude of the magnetic field is
                 computed in strength.




Core Services Layer: Core Location
CLLocationManager
                  Class
                   Properties

               headingAvailable

                 headingFilter
                Instance Methods

             startUpdatingHeading

             stopUpdatingHeading
                   Constants
              Heading Filter Value

Core Services Layer: Core Location
CLLocationManager
                               Core Location



if (locationManager.headingAvailable == NO) {
      self.locationManager = nil; // No compass is
      available
} else {
      // heading service configuration
      locationManager.headingFilter =
kCLHeadingFilterNone;
      // setup delegate callbacks
      locationManager.delegate = self;
      // start the compass
      [locationManager startUpdatingHeading];
    }
}


      Core Services Layer: Core Location
CLLocation Manager
        CLLocation
        CLHeading

Core Location Framework: Class
CLHeading
                                 Core Location




- (void)locationManager:(CLLocationManager *)manager
didUpdateHeading:(CLHeading *)heading {
   // Update the labels with the raw x, y, and z values.

 [xLabel setText:[NSString stringWithFormat:@"%.1f",
heading.x]];

 [yLabel setText:[NSString stringWithFormat:@"%.1f",
heading.y]];

 [zLabel setText:[NSString stringWithFormat:@"%.1f",
heading.z]];
}



               MapKit Framework: Class
MapKit      Core
           Location



iPhone SDK Frameworks
MKAnnotationView      MKPlacemark
MKMapView             MKReverseGeocoder
MKPinAnnotationView   MKUserLocation



       MapKit Framework: Class
MKReverseGeocoder

         MKReverseGeocoder offers services to
          convert a map coordinate (latitude &
        Longitude) to info such as country, city,
        or street. It works with a network-based
            map service to look up placemark
         information for a specified coordinate
                           value.




Cocoa Touch Layer: MapKit Framework
MKReverseGeocoder
           Each app is limited to amount
           of reverse geocoding
           Send one reverse-geocoding
           request for any one user action
           Reuse the results from initial
           request
           Suggest not to send one
           reverse-geocode request per
           minute



Cocoa Touch Layer: MapKit Framework
MKAnnotationView      MKPlacemark
MKMapView             MKReverseGeocoder
MKPinAnnotationView   MKUserLocation



       MapKit Framework: Class
MKMapView Class
               Properties
     annotations            scrollEnabled

annotationsVisibleRect   selectedAnnotations

  centerCoordinate       showsUserLocation

      delegate              userLocation

      mapType            userLocationVisible

       region               zoomEnabled

  Cocoa Touch Layer: MapKit Framework
MKMapView Class
                        MKMapType




    It delivers the type of map to display.



  MKMapTypeStandard
  MKMapTypeSatellite
  MKMapTypeHybrid


Cocoa Touch Layer: MapKit Framework
MKAnnotationView      MKPlacemark
MKMapView             MKReverseGeocoder
MKPinAnnotationView   MKUserLocation



       MapKit Framework: Class
MKAnnotationView Class
         Properties


  annotation               image

 calloutOffset    leftCalloutAccessoryView

canShowCallout        reuseIdentifier

 centerOffset    rightCalloutAccessoryView

   enabled               selected


Cocoa Touch Layer: MapKit Framework
MKAnnotationView      MKPlacemark
MKMapView             MKReverseGeocoder
MKPinAnnotationView   MKUserLocation



       MapKit Framework: Class
MKAnnotationView Class
            Properties
                         Properties

                      animatesDrop

                         pinColor
                         Constants
                 MKPinAnnotationColor

MKPinAnnotationColorRed (Destination Points)
MKPinAnnotationColorGreen (Starting Points)
MKPinAnnotationColorPurple (User-specified
Points)


Cocoa Touch Layer: MapKit Framework
iPhone VS Android
Google    Location
  Maps     Services
External
Library



    Android SDK
Classes



  Address              GpsStatus

  Criteria             Location

 Geocoder          LocationManager

GpsSatellite       LocationProvider

    package: android.location
Location Class Methods


getAccuracy()

getAltitude()         getLongitude()

getBearing()           getProvider()

 getExtras()            getSpeed()

getLatitude()           getTime()


    package: android.location
Google    Location
  Maps     Services
External
Library



    Android SDK
Google Maps
        External Library


Use Google APIs add-on
Download Maps external library
Must register with Google Maps
service
Obtain a Maps API Key




         Android SDK
AndroidManifest.xml
 Declare Maps Library
 Request internet permission
 Hide title bar

<uses-library
android:name=”com.google.android.maps” />
<uses-permission
android:name=”android.permission.INTERNET” />
<activity android:name=”.HelloMaps”
android:label=”@string/app_name”
android:theme=”@android:style/Theme.NoTitleBar”>


                 Android SDK
res/layout/main.xml


<?xml version=”1.0” encoding=”utf-8”?>
<com.google.android.maps.MapView
    xmlns:android=”http://schmas.android.com/
apk/res/android”
    android:id=@+id/mapview”
    android:layout_width=”fill_parent”
    android:layout_height=”fill_parent”
    android:clickable=”true”
    android:apiKey=”Map API Key”
/>



                Android SDK
+      HelloMaps.java
public class HelloMaps extends MapActivity

@Override protected boolean isRouteDisplayed() {
return false;
}

@Override public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}

MapView mapView = (MapView)
findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);

                 Android SDK
PhoneGap       Titanium
                     Mobile

3rd Party SDK: HTML / CSS / JavaScript
function run() {
             var win = function(position) {                // Grab
coordinates object from the Position object passed into success
callback.
                 var coords = position.coords;
                 // Call for static google maps data - make sure
you use your own Google Maps API key!
                 var url = "http://maps.google.com/maps/api/
staticmap?center=" + coords.latitude + "," + coords.longitude +
"&zoom=13&size=320x480&maptype=roadmap&key=MyGoogleMa
psAPIKey&sensor=true";

document.getElementById('map').setAttribute('src',url);
           };
           var fail = function(e) {
               alert('Can't retrieve position.nError: ' + e);
           };
           navigator.geolocation.getCurrentPosition(win, fail);
        }



              3rd Party SDK: PhoneGap
PhoneGap       Titanium
                     Mobile

3rd Party SDK: HTML / CSS / JavaScript
JavaScript Library
                                geolocation.js
                            Corresponding to iphone SDK:
              Core Location Framework: CLLocationManager & CLLocation



   
   var   longitude = e.coords.longitude;

   
   var   latitude = e.coords.latitude;

   
   var   altitude = e.coords.altitude;

   
   var   heading = e.coords.heading;

   
   var   accuracy = e.coords.accuracy;

   
   var   speed = e.coords.speed;

   
   var   timestamp = e.coords.timestamp;

   
   var   altitudeAccuracy = e.coords.altitudeAccuracy;


                       3rd Party SDK: Titanium
JavaScript Library
                     geolocation.js

                Corresponding to iphone SDK:
             Core Location Framework: CLHeading




var   x = e.heading.x;
var   y = e.heading.y;
var   z = e.heading.z;
var   magneticHeading = e.heading.magneticHeading;
var   accuracy = e.heading.accuracy;
var   trueHeading = e.heading.trueHeading;
var   timestamp = e.heading.timestamp;



            3rd Party SDK: Titanium
JavaScript Library
                      map_view.js

        Corresponding to iphone SDK: MapKit Framework




var mapview = Titanium.Map.createView({

 mapType: Titanium.Map.STANDARD_TYPE,

 region: {latitude:33.74511, longitude:-84.38993,
latitudeDelta:0.01, longitudeDelta:0.01},

 animate:true,

 regionFit:true,

 userLocation:true,

 annotations:[apple, atlanta]
});



            3rd Party SDK: Titanium
Chief Science Officer




   Stardate: -314000
01.12.201 Earthdate




 Stardate: -312969.2922374429
Haiti 2010 Earthquake

   Stardate: -314000
01.27.201 Earthdate




 Stardate: -312927.6255707762
Medical Tricorder
STANFORD UNIVERSITY
       School of Engineering (EE46)


 Engineering For Good
Save The World
     Have Fun Doing It
STANFORD UNIVERSITY
         School of Engineering



  Engineering For Good
Save The World and Have Fun Doing It
              (EE 46)
Save The World

     Malaria
     TB
     HIV
Augmented Reality (AR)
   Camera
(Photo / Video)

                     Bar Code



                                   Optical Character
                                     Recognition
                      QR Code           (OCR)




                  Scanner: 2D Objects
Detect Diseases




      Scanner: Life forms
Identify Patients




  Scanner: Life forms
Medical Tricorder
Medical Tricorder
Medical Tricorder
The Future Begins




Malaria
TB
HIV
The Future Begins
         Jan 12, 2010
    Haiti Earthquake 7.0M
         Feb 26, 2010
    Japan Earthquake 7.3M
         Feb 27, 2010
    Chile Earthquake 8.8M
        Mar 4, 2010
   Taiwan Earthquake 6.4M
        Mar 15, 2010
    Japan Earthquake 6.6M
Stanford                      Global Health
        EE46                     Research Foundation




http://zwazosms.agilityhoster.com/iphone/   http://www.ghrf.org



                      Medical Tricorder
Medical Tricorder
http://www.slideshare.net/bess.ho




   Q&A

Weitere ähnliche Inhalte

Andere mochten auch

01 - Знакомство с Java
01 - Знакомство с Java01 - Знакомство с Java
01 - Знакомство с Javaphearnot
 
2.14.08 Permutations
2.14.08   Permutations2.14.08   Permutations
2.14.08 Permutationschrismac47
 
維基經濟學999
維基經濟學999維基經濟學999
維基經濟學999valvpatton
 
Kostenbesparende Werkpaarden
Kostenbesparende WerkpaardenKostenbesparende Werkpaarden
Kostenbesparende WerkpaardenFabrice Mous
 
Death Valley
Death ValleyDeath Valley
Death Valleybiology6
 
Valencian State Schools Strike April 28 2009
Valencian State Schools Strike April 28 2009Valencian State Schools Strike April 28 2009
Valencian State Schools Strike April 28 2009Inma Garín
 
Aso’S Sweets
Aso’S SweetsAso’S Sweets
Aso’S Sweetspchb
 
technology user instruction
technology user instructiontechnology user instruction
technology user instructionJohn Rodzvilla
 
Sketch A Graph
Sketch A GraphSketch A Graph
Sketch A Graphchrismac47
 
5.12.08 Advanced Factoring1
5.12.08   Advanced Factoring15.12.08   Advanced Factoring1
5.12.08 Advanced Factoring1chrismac47
 
Exploring And Learning
Exploring And LearningExploring And Learning
Exploring And Learninggueste20bce
 
Design Approaches07
Design Approaches07Design Approaches07
Design Approaches07guest8042e6
 
Vooruit met Open Standaarden
Vooruit met Open StandaardenVooruit met Open Standaarden
Vooruit met Open StandaardenFabrice Mous
 
Reunió octubre 2013
Reunió octubre 2013Reunió octubre 2013
Reunió octubre 2013LauraGR
 
Il futuro dei socialnetwork
Il futuro dei socialnetworkIl futuro dei socialnetwork
Il futuro dei socialnetworkComunikafood
 

Andere mochten auch (20)

Case study vente exclusive
Case study vente exclusiveCase study vente exclusive
Case study vente exclusive
 
01 - Знакомство с Java
01 - Знакомство с Java01 - Знакомство с Java
01 - Знакомство с Java
 
Writing
WritingWriting
Writing
 
2.14.08 Permutations
2.14.08   Permutations2.14.08   Permutations
2.14.08 Permutations
 
Ftir Spektroskopi[1]
Ftir Spektroskopi[1]Ftir Spektroskopi[1]
Ftir Spektroskopi[1]
 
維基經濟學999
維基經濟學999維基經濟學999
維基經濟學999
 
Kostenbesparende Werkpaarden
Kostenbesparende WerkpaardenKostenbesparende Werkpaarden
Kostenbesparende Werkpaarden
 
Death Valley
Death ValleyDeath Valley
Death Valley
 
Valencian State Schools Strike April 28 2009
Valencian State Schools Strike April 28 2009Valencian State Schools Strike April 28 2009
Valencian State Schools Strike April 28 2009
 
Aso’S Sweets
Aso’S SweetsAso’S Sweets
Aso’S Sweets
 
GLCC May 20, 2010
GLCC May 20, 2010GLCC May 20, 2010
GLCC May 20, 2010
 
technology user instruction
technology user instructiontechnology user instruction
technology user instruction
 
Sketch A Graph
Sketch A GraphSketch A Graph
Sketch A Graph
 
5.12.08 Advanced Factoring1
5.12.08   Advanced Factoring15.12.08   Advanced Factoring1
5.12.08 Advanced Factoring1
 
Energia Nucleare
Energia NucleareEnergia Nucleare
Energia Nucleare
 
Exploring And Learning
Exploring And LearningExploring And Learning
Exploring And Learning
 
Design Approaches07
Design Approaches07Design Approaches07
Design Approaches07
 
Vooruit met Open Standaarden
Vooruit met Open StandaardenVooruit met Open Standaarden
Vooruit met Open Standaarden
 
Reunió octubre 2013
Reunió octubre 2013Reunió octubre 2013
Reunió octubre 2013
 
Il futuro dei socialnetwork
Il futuro dei socialnetworkIl futuro dei socialnetwork
Il futuro dei socialnetwork
 

Ähnlich wie Boldly Go Where No Man Has Gone Before. Explore Geo on iPhone & Android

Develop a native application that uses GPS location.pptx
Develop a native application that uses GPS location.pptxDevelop a native application that uses GPS location.pptx
Develop a native application that uses GPS location.pptxvishal choudhary
 
MBLTDev: Phillip Connaughton, RunKepper
MBLTDev: Phillip Connaughton, RunKepper MBLTDev: Phillip Connaughton, RunKepper
MBLTDev: Phillip Connaughton, RunKepper e-Legion
 
Developing Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location ServicesDeveloping Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location ServicesNick Landry
 
Windows phone 7 series
Windows phone 7 seriesWindows phone 7 series
Windows phone 7 seriesopenbala
 
What's New in ArcGIS 10.1 Data Interoperability Extension
What's New in ArcGIS 10.1 Data Interoperability ExtensionWhat's New in ArcGIS 10.1 Data Interoperability Extension
What's New in ArcGIS 10.1 Data Interoperability ExtensionSafe Software
 
Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016 Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016 COGS Presentations
 
Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagMicrosoft Mobile Developer
 
Enabling SDN for Service Providers by Khay Kid Chow
Enabling SDN for Service Providers by Khay Kid ChowEnabling SDN for Service Providers by Khay Kid Chow
Enabling SDN for Service Providers by Khay Kid ChowMyNOG
 
Windows 8 DevUnleashed - Session 2
Windows 8 DevUnleashed - Session 2Windows 8 DevUnleashed - Session 2
Windows 8 DevUnleashed - Session 2drudolph11
 
Functional, Type-safe, Testable Microservices with ZIO and gRPC
Functional, Type-safe, Testable Microservices with ZIO and gRPCFunctional, Type-safe, Testable Microservices with ZIO and gRPC
Functional, Type-safe, Testable Microservices with ZIO and gRPCNadav Samet
 
Road Monitoring - 2019 - IoT@Sapienza - v3
 Road Monitoring - 2019 - IoT@Sapienza - v3 Road Monitoring - 2019 - IoT@Sapienza - v3
Road Monitoring - 2019 - IoT@Sapienza - v3Pietro Spadaccino
 
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestiónGeneXus
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentationDroidcon Berlin
 
New Design Patterns in Microservice Solutions
New Design Patterns in Microservice SolutionsNew Design Patterns in Microservice Solutions
New Design Patterns in Microservice SolutionsMichel Burger
 
Large scale data capture and experimentation platform at Grab
Large scale data capture and experimentation platform at GrabLarge scale data capture and experimentation platform at Grab
Large scale data capture and experimentation platform at GrabRoman
 
Battery Efficient Location Services
Battery Efficient Location ServicesBattery Efficient Location Services
Battery Efficient Location ServicesArun Nagarajan
 
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013GeoSolutions
 
iBeacons - the new low-powered way of location awareness
iBeacons - the new low-powered way of location awarenessiBeacons - the new low-powered way of location awareness
iBeacons - the new low-powered way of location awarenessStefano Zanetti
 

Ähnlich wie Boldly Go Where No Man Has Gone Before. Explore Geo on iPhone & Android (20)

Develop a native application that uses GPS location.pptx
Develop a native application that uses GPS location.pptxDevelop a native application that uses GPS location.pptx
Develop a native application that uses GPS location.pptx
 
MBLTDev: Phillip Connaughton, RunKepper
MBLTDev: Phillip Connaughton, RunKepper MBLTDev: Phillip Connaughton, RunKepper
MBLTDev: Phillip Connaughton, RunKepper
 
Developing Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location ServicesDeveloping Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location Services
 
Core Location in iOS
Core Location in iOSCore Location in iOS
Core Location in iOS
 
Windows phone 7 series
Windows phone 7 seriesWindows phone 7 series
Windows phone 7 series
 
What's New in ArcGIS 10.1 Data Interoperability Extension
What's New in ArcGIS 10.1 Data Interoperability ExtensionWhat's New in ArcGIS 10.1 Data Interoperability Extension
What's New in ArcGIS 10.1 Data Interoperability Extension
 
Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016 Remote Sensing Field Camp 2016
Remote Sensing Field Camp 2016
 
Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tag
 
Enabling SDN for Service Providers by Khay Kid Chow
Enabling SDN for Service Providers by Khay Kid ChowEnabling SDN for Service Providers by Khay Kid Chow
Enabling SDN for Service Providers by Khay Kid Chow
 
Windows 8 DevUnleashed - Session 2
Windows 8 DevUnleashed - Session 2Windows 8 DevUnleashed - Session 2
Windows 8 DevUnleashed - Session 2
 
Functional, Type-safe, Testable Microservices with ZIO and gRPC
Functional, Type-safe, Testable Microservices with ZIO and gRPCFunctional, Type-safe, Testable Microservices with ZIO and gRPC
Functional, Type-safe, Testable Microservices with ZIO and gRPC
 
Road Monitoring - 2019 - IoT@Sapienza - v3
 Road Monitoring - 2019 - IoT@Sapienza - v3 Road Monitoring - 2019 - IoT@Sapienza - v3
Road Monitoring - 2019 - IoT@Sapienza - v3
 
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentation
 
New Design Patterns in Microservice Solutions
New Design Patterns in Microservice SolutionsNew Design Patterns in Microservice Solutions
New Design Patterns in Microservice Solutions
 
Large scale data capture and experimentation platform at Grab
Large scale data capture and experimentation platform at GrabLarge scale data capture and experimentation platform at Grab
Large scale data capture and experimentation platform at Grab
 
Battery Efficient Location Services
Battery Efficient Location ServicesBattery Efficient Location Services
Battery Efficient Location Services
 
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
 
Win8 ru
Win8 ruWin8 ru
Win8 ru
 
iBeacons - the new low-powered way of location awareness
iBeacons - the new low-powered way of location awarenessiBeacons - the new low-powered way of location awareness
iBeacons - the new low-powered way of location awareness
 

Mehr von Bess Ho

Product Design Using Solidworks
Product Design Using SolidworksProduct Design Using Solidworks
Product Design Using SolidworksBess Ho
 
4/7/2021 Investment Panel
4/7/2021 Investment Panel4/7/2021 Investment Panel
4/7/2021 Investment PanelBess Ho
 
SVB 4/21/2021 Introduction
SVB 4/21/2021 IntroductionSVB 4/21/2021 Introduction
SVB 4/21/2021 IntroductionBess Ho
 
Competitor Analysis
Competitor AnalysisCompetitor Analysis
Competitor AnalysisBess Ho
 
InvoTech Happy Hour 2019
InvoTech Happy Hour 2019InvoTech Happy Hour 2019
InvoTech Happy Hour 2019Bess Ho
 
Fundraising in Silicon Valley
Fundraising in Silicon ValleyFundraising in Silicon Valley
Fundraising in Silicon ValleyBess Ho
 
Empowered Entrepreneurs and Hyper Growth in Mobile Era
Empowered Entrepreneurs and Hyper Growth in Mobile EraEmpowered Entrepreneurs and Hyper Growth in Mobile Era
Empowered Entrepreneurs and Hyper Growth in Mobile EraBess Ho
 
WITI Summit 2013 Mobile Trend
WITI Summit 2013 Mobile TrendWITI Summit 2013 Mobile Trend
WITI Summit 2013 Mobile TrendBess Ho
 
Gmicsv 2012 oct
Gmicsv 2012 octGmicsv 2012 oct
Gmicsv 2012 octBess Ho
 
WITI.ORG Women Technology Summit 2012
WITI.ORG Women Technology Summit 2012WITI.ORG Women Technology Summit 2012
WITI.ORG Women Technology Summit 2012Bess Ho
 
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and US
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and USStanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and US
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and USBess Ho
 
Putting Web Into Native App
Putting Web Into Native AppPutting Web Into Native App
Putting Web Into Native AppBess Ho
 
Android Open 2011
Android Open 2011Android Open 2011
Android Open 2011Bess Ho
 
Silicon Valley China Wireless Conference m-commerce Panel
Silicon Valley China Wireless Conference m-commerce PanelSilicon Valley China Wireless Conference m-commerce Panel
Silicon Valley China Wireless Conference m-commerce PanelBess Ho
 
Iosdevcamp 2011.key
Iosdevcamp 2011.keyIosdevcamp 2011.key
Iosdevcamp 2011.keyBess Ho
 
Icon & App Design Secrets for Mobile
Icon & App Design Secrets for MobileIcon & App Design Secrets for Mobile
Icon & App Design Secrets for MobileBess Ho
 
SF Lean Startup Machine Workshop
SF Lean Startup Machine WorkshopSF Lean Startup Machine Workshop
SF Lean Startup Machine WorkshopBess Ho
 
JumpyBirds iTunes for Toddlers & Amazon for Moms
JumpyBirds iTunes for Toddlers & Amazon for MomsJumpyBirds iTunes for Toddlers & Amazon for Moms
JumpyBirds iTunes for Toddlers & Amazon for MomsBess Ho
 
Where Should I Go: Smart Phones
Where Should I Go: Smart PhonesWhere Should I Go: Smart Phones
Where Should I Go: Smart PhonesBess Ho
 
Beautiful Mind: iPhone Anatomy & Architecture
Beautiful Mind: iPhone Anatomy & ArchitectureBeautiful Mind: iPhone Anatomy & Architecture
Beautiful Mind: iPhone Anatomy & ArchitectureBess Ho
 

Mehr von Bess Ho (20)

Product Design Using Solidworks
Product Design Using SolidworksProduct Design Using Solidworks
Product Design Using Solidworks
 
4/7/2021 Investment Panel
4/7/2021 Investment Panel4/7/2021 Investment Panel
4/7/2021 Investment Panel
 
SVB 4/21/2021 Introduction
SVB 4/21/2021 IntroductionSVB 4/21/2021 Introduction
SVB 4/21/2021 Introduction
 
Competitor Analysis
Competitor AnalysisCompetitor Analysis
Competitor Analysis
 
InvoTech Happy Hour 2019
InvoTech Happy Hour 2019InvoTech Happy Hour 2019
InvoTech Happy Hour 2019
 
Fundraising in Silicon Valley
Fundraising in Silicon ValleyFundraising in Silicon Valley
Fundraising in Silicon Valley
 
Empowered Entrepreneurs and Hyper Growth in Mobile Era
Empowered Entrepreneurs and Hyper Growth in Mobile EraEmpowered Entrepreneurs and Hyper Growth in Mobile Era
Empowered Entrepreneurs and Hyper Growth in Mobile Era
 
WITI Summit 2013 Mobile Trend
WITI Summit 2013 Mobile TrendWITI Summit 2013 Mobile Trend
WITI Summit 2013 Mobile Trend
 
Gmicsv 2012 oct
Gmicsv 2012 octGmicsv 2012 oct
Gmicsv 2012 oct
 
WITI.ORG Women Technology Summit 2012
WITI.ORG Women Technology Summit 2012WITI.ORG Women Technology Summit 2012
WITI.ORG Women Technology Summit 2012
 
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and US
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and USStanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and US
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and US
 
Putting Web Into Native App
Putting Web Into Native AppPutting Web Into Native App
Putting Web Into Native App
 
Android Open 2011
Android Open 2011Android Open 2011
Android Open 2011
 
Silicon Valley China Wireless Conference m-commerce Panel
Silicon Valley China Wireless Conference m-commerce PanelSilicon Valley China Wireless Conference m-commerce Panel
Silicon Valley China Wireless Conference m-commerce Panel
 
Iosdevcamp 2011.key
Iosdevcamp 2011.keyIosdevcamp 2011.key
Iosdevcamp 2011.key
 
Icon & App Design Secrets for Mobile
Icon & App Design Secrets for MobileIcon & App Design Secrets for Mobile
Icon & App Design Secrets for Mobile
 
SF Lean Startup Machine Workshop
SF Lean Startup Machine WorkshopSF Lean Startup Machine Workshop
SF Lean Startup Machine Workshop
 
JumpyBirds iTunes for Toddlers & Amazon for Moms
JumpyBirds iTunes for Toddlers & Amazon for MomsJumpyBirds iTunes for Toddlers & Amazon for Moms
JumpyBirds iTunes for Toddlers & Amazon for Moms
 
Where Should I Go: Smart Phones
Where Should I Go: Smart PhonesWhere Should I Go: Smart Phones
Where Should I Go: Smart Phones
 
Beautiful Mind: iPhone Anatomy & Architecture
Beautiful Mind: iPhone Anatomy & ArchitectureBeautiful Mind: iPhone Anatomy & Architecture
Beautiful Mind: iPhone Anatomy & Architecture
 

Kürzlich hochgeladen

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

Boldly Go Where No Man Has Gone Before. Explore Geo on iPhone & Android

  • 1. To boldly go where no man has gone before: Exploring Geo in iPhone & Android Apr 1, 2010 Thu 2:50 PM San Jose
  • 2. To boldly go where no man has gone before: Exploring Geo in iPhone & Android Stardate: -312751.7313546423
  • 3. Three Years Ago Jan 2007 Stardate: -315974.3150684931
  • 4. Widescreen iPod with touch controls Stardate: -315974.3150684931
  • 6. Breakthrough internet communicator Stardate: -315974.3150684931
  • 7. iPod Phone Internet Stardate: -315974.3150684931
  • 9. Chief Science Officer Stardate: -314000
  • 10. Data Data Communication Portable Sensing Analysis s Stardate: -314000
  • 14. Tricorder iPhone Stardate: -314000
  • 15. Locator Scanner Compass Recorder Sensor Search Text Data Voice Stardate: -314000
  • 16. Phone Camera (Audio) (Photo / Video) GPS (Geo) Magentometer (Compass) Accelerometer (XZY) Touch (Device Orientation) Wireless Bluetooth Data Plan / WiFi (File) (Web / Email) External Accessory Microphone SMS (Data) (Audio) (Data) iPhone’s Anatomy
  • 17. Phone Camera (Audio) (Photo / Video) GPS (Geo) Magentometer (Compass) Accelerometer (XZY) Touch (Device Orientation) Wireless Bluetooth Data Plan / WiFi (File) (Web / Email) External Accessory Microphone SMS (Data) (Audio) (Data) Portable Sensors
  • 18. iPhone SDK Xcode Interface Builder Data Analysis
  • 19. Phone Camera (Audio) (Photo / Video) GPS (Geo) Magentometer (Compass) Accelerometer (XZY) Touch (Device Orientation) Wireless Bluetooth Data Plan / WiFi (File) (Web / Email) External Accessory Microphone SMS (Data) (Audio) (Data) Data Communications
  • 21. MapKit Core Location iPhone SDK Frameworks
  • 22. iPhone SDK Frameworks Cocoa Touch Layer Media Layer Core Services Layer Core OS Layer iPhone SDK Frameworks
  • 23. iPhone SDK Frameworks Cocoa Touch Layer Map Kit Media Layer Core Services Layer Core Location Core OS Layer iPhone SDK Frameworks
  • 24. CLLocation Manager CLLocation CLHeading Core Location Framework: Class
  • 25. UIViewController Interface CLLocationManager #import <CoreLocation/CoreLocation.h> @interface GetLocationViewController : UIViewController <CLLocationManagerDelegate> { CLLocationManager *locationManager; CLLocation *bestEffortAtLocation; } @property (nonatomic, retain) CLLocationManager *locationManager; @property (nonatomic, retain) CLLocation *bestEffortAtLocation; Core Services Layer: Core Location
  • 26. ViewController Method CLLocationManager // Create the manager object self.locationManager = [[[CLLocationManager alloc] init] autorelease]; locationManager.delegate = self; locationManager.desiredAccuracy = [[setupInfo objectForKey:kSetupInfoKeyAccuracy] doubleValue]; [locationManager startUpdatingLocation]; Core Services Layer: Core Location
  • 27. CLLocation Class Constants CLLocationDegrees CLLocationCoordinate2D CCLocationAccuracy Accuracy Constants CLLocationSpeed CLLocationDirection Core Services Layer: Core Location
  • 28. Accuracy Constants CLLocation Class locationManager.desiredAccuracy is the most important property of Location Manager. It determines the amount of power it consumed. Constant values are to specify the accuracy of a location. kCLLocationAccuracyBest Best kCLLocationAccuracyNearestTenMete 10 Meters rs 100 Meters kCLLocationAccuracyHundredMeters 1000 Meters kCLLocationAccuracyKilometer 3000 Meters kCLLocationAccuracyThreeKilometers Core Services Layer: Core Location
  • 29. CLLocation Class Constants CLLocationDegrees Delivers a latitude or longitude value specified in degrees. Data type is double. CLLocationSpeed Delivers the speed at which the device is moving in meters per second. Data type is double. Core Services Layer: Core Location
  • 30. CLLocation Class Constants CLLocationDirection Delivers a direction that is measured in degrees and relative to true north. Data type is double. North is 0 degrees East is 90 degrees South is 180 degrees Any “-” value indicates an invalid direction Core Services Layer: Core Location
  • 32. CLLocation Class Properties altitude coordinate course horizontalAccuracy speed timestamp verticalAccuracy Core Services Layer: Core Location
  • 33. Read-Only altitude coordinate course horizontalAccuracy speed timestamp verticalAccuracy Core Services Layer: Core Location
  • 34. Measurement Units altitude (meters) coordinate course (degrees) horizontalAccuracy (meters) speed (meters per sec) timestamp (NSDate) verticalAccuracy (meters) Core Services Layer: Core Location
  • 35. CLLocation Manager CLLocation CLHeading Core Location Framework: Class
  • 36. CLLocationManager Core Location Create a CLLocationManager object to get heading by invoking [CLLocationManager startUpdatingHeading]. iPhone 3GS contains a magnetometer - a magnetic field detector. It displays the raw x, y, and z magnetometer values. Magnitude of the magnetic field is computed in strength. Core Services Layer: Core Location
  • 37. CLLocationManager Class Properties headingAvailable headingFilter Instance Methods startUpdatingHeading stopUpdatingHeading Constants Heading Filter Value Core Services Layer: Core Location
  • 38. CLLocationManager Core Location if (locationManager.headingAvailable == NO) { self.locationManager = nil; // No compass is available } else { // heading service configuration locationManager.headingFilter = kCLHeadingFilterNone; // setup delegate callbacks locationManager.delegate = self; // start the compass [locationManager startUpdatingHeading]; } } Core Services Layer: Core Location
  • 39. CLLocation Manager CLLocation CLHeading Core Location Framework: Class
  • 40. CLHeading Core Location - (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)heading { // Update the labels with the raw x, y, and z values. [xLabel setText:[NSString stringWithFormat:@"%.1f", heading.x]]; [yLabel setText:[NSString stringWithFormat:@"%.1f", heading.y]]; [zLabel setText:[NSString stringWithFormat:@"%.1f", heading.z]]; } MapKit Framework: Class
  • 41. MapKit Core Location iPhone SDK Frameworks
  • 42. MKAnnotationView MKPlacemark MKMapView MKReverseGeocoder MKPinAnnotationView MKUserLocation MapKit Framework: Class
  • 43. MKReverseGeocoder MKReverseGeocoder offers services to convert a map coordinate (latitude & Longitude) to info such as country, city, or street. It works with a network-based map service to look up placemark information for a specified coordinate value. Cocoa Touch Layer: MapKit Framework
  • 44. MKReverseGeocoder Each app is limited to amount of reverse geocoding Send one reverse-geocoding request for any one user action Reuse the results from initial request Suggest not to send one reverse-geocode request per minute Cocoa Touch Layer: MapKit Framework
  • 45. MKAnnotationView MKPlacemark MKMapView MKReverseGeocoder MKPinAnnotationView MKUserLocation MapKit Framework: Class
  • 46. MKMapView Class Properties annotations scrollEnabled annotationsVisibleRect selectedAnnotations centerCoordinate showsUserLocation delegate userLocation mapType userLocationVisible region zoomEnabled Cocoa Touch Layer: MapKit Framework
  • 47. MKMapView Class MKMapType It delivers the type of map to display. MKMapTypeStandard MKMapTypeSatellite MKMapTypeHybrid Cocoa Touch Layer: MapKit Framework
  • 48. MKAnnotationView MKPlacemark MKMapView MKReverseGeocoder MKPinAnnotationView MKUserLocation MapKit Framework: Class
  • 49. MKAnnotationView Class Properties annotation image calloutOffset leftCalloutAccessoryView canShowCallout reuseIdentifier centerOffset rightCalloutAccessoryView enabled selected Cocoa Touch Layer: MapKit Framework
  • 50. MKAnnotationView MKPlacemark MKMapView MKReverseGeocoder MKPinAnnotationView MKUserLocation MapKit Framework: Class
  • 51. MKAnnotationView Class Properties Properties animatesDrop pinColor Constants MKPinAnnotationColor MKPinAnnotationColorRed (Destination Points) MKPinAnnotationColorGreen (Starting Points) MKPinAnnotationColorPurple (User-specified Points) Cocoa Touch Layer: MapKit Framework
  • 53. Google Location Maps Services External Library Android SDK
  • 54. Classes Address GpsStatus Criteria Location Geocoder LocationManager GpsSatellite LocationProvider package: android.location
  • 55. Location Class Methods getAccuracy() getAltitude() getLongitude() getBearing() getProvider() getExtras() getSpeed() getLatitude() getTime() package: android.location
  • 56. Google Location Maps Services External Library Android SDK
  • 57. Google Maps External Library Use Google APIs add-on Download Maps external library Must register with Google Maps service Obtain a Maps API Key Android SDK
  • 58. AndroidManifest.xml Declare Maps Library Request internet permission Hide title bar <uses-library android:name=”com.google.android.maps” /> <uses-permission android:name=”android.permission.INTERNET” /> <activity android:name=”.HelloMaps” android:label=”@string/app_name” android:theme=”@android:style/Theme.NoTitleBar”> Android SDK
  • 59. res/layout/main.xml <?xml version=”1.0” encoding=”utf-8”?> <com.google.android.maps.MapView xmlns:android=”http://schmas.android.com/ apk/res/android” android:id=@+id/mapview” android:layout_width=”fill_parent” android:layout_height=”fill_parent” android:clickable=”true” android:apiKey=”Map API Key” /> Android SDK
  • 60. + HelloMaps.java public class HelloMaps extends MapActivity @Override protected boolean isRouteDisplayed() { return false; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } MapView mapView = (MapView) findViewById(R.id.mapview); mapView.setBuiltInZoomControls(true); Android SDK
  • 61. PhoneGap Titanium Mobile 3rd Party SDK: HTML / CSS / JavaScript
  • 62. function run() { var win = function(position) { // Grab coordinates object from the Position object passed into success callback. var coords = position.coords; // Call for static google maps data - make sure you use your own Google Maps API key! var url = "http://maps.google.com/maps/api/ staticmap?center=" + coords.latitude + "," + coords.longitude + "&zoom=13&size=320x480&maptype=roadmap&key=MyGoogleMa psAPIKey&sensor=true"; document.getElementById('map').setAttribute('src',url); }; var fail = function(e) { alert('Can't retrieve position.nError: ' + e); }; navigator.geolocation.getCurrentPosition(win, fail); } 3rd Party SDK: PhoneGap
  • 63. PhoneGap Titanium Mobile 3rd Party SDK: HTML / CSS / JavaScript
  • 64. JavaScript Library geolocation.js Corresponding to iphone SDK: Core Location Framework: CLLocationManager & CLLocation var longitude = e.coords.longitude; var latitude = e.coords.latitude; var altitude = e.coords.altitude; var heading = e.coords.heading; var accuracy = e.coords.accuracy; var speed = e.coords.speed; var timestamp = e.coords.timestamp; var altitudeAccuracy = e.coords.altitudeAccuracy; 3rd Party SDK: Titanium
  • 65. JavaScript Library geolocation.js Corresponding to iphone SDK: Core Location Framework: CLHeading var x = e.heading.x; var y = e.heading.y; var z = e.heading.z; var magneticHeading = e.heading.magneticHeading; var accuracy = e.heading.accuracy; var trueHeading = e.heading.trueHeading; var timestamp = e.heading.timestamp; 3rd Party SDK: Titanium
  • 66. JavaScript Library map_view.js Corresponding to iphone SDK: MapKit Framework var mapview = Titanium.Map.createView({ mapType: Titanium.Map.STANDARD_TYPE, region: {latitude:33.74511, longitude:-84.38993, latitudeDelta:0.01, longitudeDelta:0.01}, animate:true, regionFit:true, userLocation:true, annotations:[apple, atlanta] }); 3rd Party SDK: Titanium
  • 67. Chief Science Officer Stardate: -314000
  • 68. 01.12.201 Earthdate Stardate: -312969.2922374429
  • 69. Haiti 2010 Earthquake Stardate: -314000
  • 70. 01.27.201 Earthdate Stardate: -312927.6255707762
  • 72. STANFORD UNIVERSITY School of Engineering (EE46) Engineering For Good Save The World Have Fun Doing It
  • 73. STANFORD UNIVERSITY School of Engineering Engineering For Good Save The World and Have Fun Doing It (EE 46)
  • 74. Save The World Malaria TB HIV
  • 75. Augmented Reality (AR) Camera (Photo / Video) Bar Code Optical Character Recognition QR Code (OCR) Scanner: 2D Objects
  • 76. Detect Diseases Scanner: Life forms
  • 77. Identify Patients Scanner: Life forms
  • 82. The Future Begins Jan 12, 2010 Haiti Earthquake 7.0M Feb 26, 2010 Japan Earthquake 7.3M Feb 27, 2010 Chile Earthquake 8.8M Mar 4, 2010 Taiwan Earthquake 6.4M Mar 15, 2010 Japan Earthquake 6.6M
  • 83. Stanford Global Health EE46 Research Foundation http://zwazosms.agilityhoster.com/iphone/ http://www.ghrf.org Medical Tricorder

Hinweis der Redaktion