I recently found a really great way to keep a nice amount of heat almost directly where you're cramping.

I don't know how many people have heard of HotHands™  handwarmers - they're really cool. They come in an orange plastic package, usually two at a time. When you open the package there's a little cloth-like pouch with some stuff inside. The stuff reacts with the air and heats up so you can put it in your pocket or your gloves to keep your hands warm.

 

STICK IT IN YOUR PANTS.

You can put it right over where it hurts and it doesn't get too hot and burn you. It usually helps relax the muscle fairly quickly. Plus it usually ends up under your waistband, which holds it up nicely. They last up to ten hours, and you can walk around with the heat on you. Really quite nifty.