function getLazyValue(fn) {
	let called = false;
	let ret;

	return () => {
		if (!called) {
			called = true;
			ret = fn();
		}

		return ret;
	};
}
This function is a helper for return to the user the internal Google Maps promise
and can wait until it is ready.
This piece of code was orignally written by sindresorhus and can be seen here
@see https://github.com/sindresorhus/lazy-value/blob/master/index.js

 @param  {Function} fn a function that actually return the promise or async value
@returns {Function} anonymous function that returns the value returned by the fn parameter