Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Google Maps API for Business

I see tons of Google Maps examples that use the generic API key for Static Maps. To use an example straight from Google:

http://maps.googleapis.com/maps/api/staticmap?center=New+York,NY&zoom=13&size=600x300&key=API_KEY

But that key never changes. And that key is not for those who need a Business user account, which would be people who fall into these categories:

If you're using the Maps API internally or for asset tracking purposes, you must have a Maps API for Business license. Additionally, if you are charging a fee for access to your Maps solution, whether for a business or consumer audience, you are required to purchase the Maps API for Business.

If you are a business user, you don't get a generic key. You get a client ID and a cryptographic signing key. You must then sign every unique URL that QlikView generates. So, for example, our URL above becomes:

http://maps.googleapis.com/maps/api/staticmap?center=New+York,NY&zoom=13&size=600x300&client=clientI...

That key is generated using a specific part of the URL: /maps/api/staticmap?center=New+York,NY&zoom=13&size=600x300&client=clientID

Change the zoom? Now it's a whole new generated signature key. So if you allow the user to interact with the map in any fashion, the signature must be re-generated on the fly with the new URL parameters.

So this gets to the heart of my question: has anyone successfully done this with for the Business API entirely within QlikView? Perhaps with an extension that allows you to pass the portion of the URL used to generate the signature key along with the cryptographic signing key and responds with a Base64 for URLs encoded signature key generated with the HMAC-SHA1 algorithm? The only suggestion I've seen so far is to re-route the request through an intermediate web page, but that solution will not work for me. I have no web server on which to host the intermediate page that is allowed within our production environments.

2 Replies
Not applicable
Author

Hi!

I have the exact same issue in a customer case so I am also eager to know if anyone has done this successfully!

mattheomx
Contributor
Contributor

Jonathan, did you ever resolve this problem?