Just to add further you can use custom map instead of google map and in that case you don't need any api key for that.
Does this only work with Google Maps? I do not wish to use them since there is a huge charge is you go over their limit. If this can be used with another map service, what would you recommend?
How does that work? I think this would be the key to getting around Google charging for use of map api key.