Code:
TBool CGpsPositionRequest::GetCurrentPostionL(TReal& aLatitude, TReal& aLongitude)
    {
    // cancel previous request (just in case)
    Cancel();
    // request current location
    iPositioner.NotifyPositionUpdate(iPositionInfo, iStatus);
    SetActive();
    // start wait note and wait for request end
    ShowWaitNoteL();
    // process result
    if (iError == KErrNone)
        {
        // success, return given position
        TPosition pos;
        iPositionInfo.GetPosition(pos);
        aLatitude = pos.Latitude();
        aLongitude = pos.Longitude();
       
        return ETrue;
        }
    // fail
    return EFalse;
    }

void CGpsPositionRequest::RunL()
    {
    // request ended, store error code and dismiss wait dialog
	if(flg)
		{
    iError = iStatus.Int();
    DismissWaitNote();
    flg=false;
    Cancel();
    	 iTimer.After(iStatus,5000000000000);// HERE i WANT A DELAY OF 15 MINUTES
    	 SetActive();
		}
	if(!flg)
		{
		iloc->getGPSLocation();
		}
	
    }

getGPSLocation()
{

   result= request->GetCurrentPostionL(latitude, longitude); 
}