Preliminary update for new GoogleAPIs

I updated your code to match the new GoogleAPI invocation requirements such as Project-KEY and JSON data response.
It's a preliminary implementation, some code cleanup is required and some features still need to be ported.
is the api key optional? otherwise it should not have a default value but be required so user notice when they forgot to specify the key.