Рассмотрим эту статью: http://www.alistapart.com/articles/takecontrolofyourmaps
Вот несколько вариантов, предложенных в статье:
1-OpenLayers
2-TileCache
3-Mapnik
4-QGIS
В статье (теоретически) объясняется, как создать свой собственный программный стек, который будет имитировать карты Google, но останется под вашим полным контролем.
Возможно, вам не понадобятся все уровни программного обеспечения для вашего проекта, но вы можете найти статью полезной в любом случае.