Ok so basically I am talking with someone about building a way for users to post locations to a map and have a pin over the location.
I know Google Maps can do this
If you want to use a framework for building applications around maps in Java, you should have a look at http://www.geomajas.org/ which is an open source web mapping framework. This gives you both a mapping front end (using GWT), and powerful integration of different data sources. Amongst other options, you could use OpenStreetMaps for base data and integrate that with many other layers. And it is all pure java.