Developing a basic mapping solution online was made easy, thanks to the
release of google/yahoo mapping. However, both g/y mapping limits the
geocode calls with some strict rules. For U.S addresses, there's a good
replacement: geocoder.us. It's totally free and is easy to use. If you
are using a commission-based mapping service that is charging you on
your geocoding hits, this service might be useful.
The examples from the website are staightforward. I spent half an hour
yesterday and finished a simple geocode library. One of the interest
points is that it supports asyn callbacks, which makes it easier to
play a little bit of AJAX.
The biggest con is that the system is built upon Tiger Mapping Service (tiger.census.gov/instruct.html). As geocoder.us states: the TIGER/Line data set is notoriously incomplete. So it happens if some good addresses are not found. My suggestion is that a tiered geocoding logic be used in the application.
I will be working on a free/share ware based on some GIS technologies in the next few month. Feel free to contact me if you are interested.