code: def from_json(payload):
          
          return payload and \
              GeoPoint(payload['longitude'],
                       payload['latitude'],
                       accuracy=payload.get('accuracy'),
                       altitude=payload.get('altitude'),
                       bearing=payload.get('bearing'),
                       fix_time=payload.get('fix_time'),
                       provider=payload.get('provider'),
                       speed=payload.get('speed'))
docs: Build a ``GeoPoint`` instance from the specified JSON object.
  
          @param payload: JSON representation of a geographic location::
  
                  {
                    "accuracy": decimal,
                    "altitude": decimal,
                    "bearing": decimal,
                    "longitude": decimal,
                    "latitude": decimal,
                    "provider": string,
                    "speed": decimal
                  }
  
              where:
  
              * ``accuracy``: accuracy of the position in meters.
  
              * ``altitude``: altitude in meters of the location.
  
              * ``bearing``: bearing in degrees.  Bearing is the horizontal
                direction of travel of the device, and is not related to the
                device orientation.  It is guaranteed to be in the range
                ``[0.0, 360.0]``, or ``null`` if this device does not have a
                bearing.
  
              * ``latitude``: latitude-angular distance, expressed in decimal
                degrees (WGS84 datum), measured from the center of the Earth,
                of a point north or south of the Equator.
  
              * ``longitude``: longitude-angular distance, expressed in
                decimal degrees (WGS84 datum), measured from the center of the
                Earth, of a point east or west of the Prime Meridian.
  
              * ``provider``: code name of the location provider that reported
                the geographical location:
  
                * ``gps``: indicate that the location has been provided by a
                  Global Positioning System (GPS).
  
                * ``network``: indicate that the location has been provided by
                  an hybrid positioning system, which uses different
                  positioning technologies, such as Global Positioning System
                  (GPS), Wi-Fi hotspots, cell tower signals.
  
              * ``speed``: speed in meters/second over the ground, or ``null``
                if this location does not have a speed.
  
          @return: a ``GeoPoint`` instance or ``None`` if the JSON payload is
              nil.