We are interested in using one or more of the Google APIs but we are afraid (or worried) about the future implication of this path. I will like to know other people's experiences of using the 3rd party API versus building their own service, if they found legal issues or if they found limitations other than the technical limitations.
Abstraction. If you're dependent on this 3rd party API, I would wrap it up and make sure that the dependencies don't flow through the rest of your code base. Your code base should talk to this API through an interface that you control, and you can then provide new implementation s of this as and when required.
Using this method, you can run against Google, and implement a new service (or work with a different provider) without impacting the majority of your codebase. It may feel like you're reinventing the wheel (in terms of interface) but it may well save you a world of grief in the future.
I've not discussed Google's service availability etc. in the above. I assume that talking to a remote service is a suitable scenario for your application. You may find in the future that this doesn't work for you. In this case abstracting the service will be immensely valuable.