There are well known services such as Clickdensity and CrazyEgg that provide a hosted solutions. Fees are usually based on the number of clicks analyzed. There are also open source alternatives. Probably the most known is ClickHeat from Labsmedia.com. It is written in PHP and runs on Apache or Lighttpd servers.
The newest one is Cannoli from Codynamix and it’s written in Ruby on Rails. Cannoli can also run on a different server and tracks clicks from other hosts. It is still under development but it seems a promising alternative. Cannoli is based on Ruwa, a web analytics tool. If you’d like to contribute you can find the repository on github: