I teach an actual 'heel' and just a good off-leash walk separately. For me, an off-leash walk is staying in position without, "enthusiasm" or eye contact. I live in the country, and most of our walks are off-leash.
What you need to have down before hand is a flawless recall in all situations. I start off-leash training with a relatively long leash dragging. If the dog tries to run off, just a gentle, "Ah-ah," and step on the leash. I actually used, "Ah-ah, on my left," which is my command for getting in position and sitting, with eye contact. Lots of praise, petting, treats, etc here, then "let's go!" Walk a few strides, continue using the verbal cues, etc to help her understand where she's supposed to be. I also incorporated the exact same leash training methods, without the use of the leash--if she gets ahead, turn around and walk the other way. For Mud this worked fabulously. For a Border Collie this kind of walk can become very boring, so I break it up with tricks or a release command--she's free to roam to a certain extent, but call her back when necessary. Where I live this is a safe thing to do, but for you I couldn't tell you. I wouldn't do this in a park of course, or anywhere near traffic or loose dogs.
I also teach an "easy" and "hurry" command. Easy if she's going too fast, hurry if I want to jog. One thing to remember is that dogs cannot shorten or lengthen their stride. They can just go faster or slower. Therefore, if you try to change your stride length to slow down or speed up, your dog will have trouble meeting your pace. Your stride length needs to be consistent.
As Jean stated, you'll need to work on this in many different environments. Start this in a very distraction-less environment so she's less tempted to run off and see what she can get into.
Slowly advance to more and more distractions. Until you know she is consistent and good with the off-leash walking, keep a leash on her. Let her drag it, but don't trust her yet without it.
Hope this helps. Good luck!