docs: function initGps() {
    _sensorService.initGps(function(position) {
      if (position.coords.accuracy < ACCURACY_ACCEPTANCE_LEVEL && !isNewPositionChangeAllowed(position)) {
        return;
      }
      _hasStableGps = true;
      MapStore.emitChange();
      _lastPositionChangeTimestamp = Date.now();
  
      _previousPosition = _position;
      _position = position.coords;
  
      if (_previousPosition && _positionConverter) {
        var positionRange = new PositionRange(
          _mapPosition || _previousPosition,
          _position,
          _positionConverter,
          _heading
        );
        createPositionPromise(positionRange.calculateRange(), positionRange.calculateVector());
      } else {
        _mapPosition = position.coords;
        _position = position.coords;
        MapStore.emitChange();
      }
    });
  }