Obtaining the Plugin
The plugin can be found in the C:\Program Files\MicroStrategy\GISConnectors folder, along with the ESRI connector that shipped with 9.0.2. In that folder you'll find two Google Map folders, one for an ASP installation and one for a JSP installation. Open the folder appropriate for your environment, and copy the folder to your WebASPx\plugins folder.
Obtaining a Google API License Key
Here's the gotcha. Google provides two options for using their Maps API:
A free to use Standard license key:http://code.google.com/apis/maps/signup.html No longer an option. This now requires a premier key to be purchased.
- A Premier license key that requires you to contact their sales department to obtain a quote: http://www.google.com/enterprise/earthmaps/maps.html
Technically, the biggest difference between the two is the amount of GeoCoding you can do. This is a Google service that allows you to obtain the location on the map for a text based location search, such as a Zip Code, City, State, etc. Think of that as when you use the Google Maps website normally. You can do a limited number of these with the Standard license key, but not enough to support any kind of Analytics.
The MicroStrategy plugin doesn't support GeoCoding yet anyway, so you have to provide your own pre-GeoCoded Latitude and Longitudes, which will work fine using the Standard license key. However, upon closer inspection of Google's License Agreements, usage of Maps in an Intranet Business Intelligence environment requires a Premier license. It seems that this was an oversight in the original release with 9.2, because 9.2.1 enforces the requirement of a Premier license, and the 9.2 version of the plugin does not work with 9.2.1.
So, if you're currently enjoying free use of the Google Maps plugin with MicroStrategy 9.2, you may want to add it's loss or potential costs to your upgrade considerations.
One more quick note, when you're getting your API key, it asks you to provide the domain that you'll be using it on. This domain is cross checked by the key, so make sure that you enter the one you'll actually be using. If you're using an internal domain, like http://svr-loc-1/microstrategy/asp, then register http://svr-loc-1 with the Google Map API, even though that's your internal machine name.
Once you've obtained the key, browse to the plugin folder that you've copied to your WebASPx\plugins folder, and drill down into the WEB-INF\xml\config\google folder. Edit the googleConfig.xml file and put your key between the <mk> tags. In the 9.2.1 version of the plugin, you'll notice the isPremier="true" flag. Setting this flag to false or removing it will disable the plugin, which means you'll get a blank map. Leaving it true but providing a Standard license key will result in the map loading but then closing, and a message from Google saying that your key isn't authorized and instructions for upgrading.
Also in this file, you'll see 3 more GUIDs under the <pjs> tag. Inside the <pj> tag, put the Project ID that you'll be using this in. Create multiple <pj> tag entries to support multiple projects. In the <at> tags, enter the Attribute GUID for the Latitude and Longitude that you'll be using for the report. If they are Attribute Forms instead of separate Attributes, simply put the same GUID for both.
Restart your Web Server and you're done with the configuration.
Configure the Report
- Create a report with Latitude and Longitude on it and whatever metrics you want.
- Make sure that the Row Merged setting is disabled.
- Run the report, and under the Tools menu, select "Custom Visualizations". If you don't have that option, you can enable it in the Project Preferences under Project Defaults -> General. There's a check box to enable it.
- Check the box at the top to Enable Visualizations for this report, and scroll to the bottom under AJAX and choose Google Map (9.2) or Map (9.2.1+). It was renamed between versions.
- Click Visualization Properties and define how your Latitude and Longitude are created, either by separate Attributes or Attribute Forms.
Now you're finished and this report will load up using the Google Map Widget!