This relates to Data Driven Mapping applications
For this example I had created a Concerts/Venues example that is now deprecated. The complete workbook (googlemapping.xlsm) can be downloaded (above) and the example Parameter WorkSheet is called VenuesParameters.
If you are a regular visitor to this site, there is probably nothing new here. All the component classes such as jSon, Data Manipulation Classes, Complete Excel Address Data with Google Mapping API and Adding markers to Google Maps from Excel have been covered in other projects so this is just a case of stitching these things together
In the downloadable workbook, googleMapping.xlsm, you will find 3 implemented applications, as well as all the examples referred to in Creating Map Layers from Excel Data including geoCoding and marking with Bing, Yahoo and Ovi.
For the purposes of generating a vizMap application, only some of those modules are involved, as marked below.
There are 3 steps in creating a vizMap application and generating data for it. Depending on the volatility of your data you may choose to do all or some of these.
- GeoCoding – attaching latitude and longtitude data and splitting a given address into its components.
- Joining transaction and master data. Most applications involve looking up other worksheets such as a location master and joining them with transactional data for plotting. This joins transactions with the master data you would have geoCoded in step 1
In the module, vizEndtoEndExamples, you will find some code that does all 3 in one operation. For the Concerts/Venues example , this looks like this, where cVizAppVenues is the name of the parameter sheet for this application.
Public Sub endToEndVenues() endToEnd cVizAppVenues End Sub Private Sub endToEnd(paramName As String) ' geocode the master googleMappingExample paramName ' join to transactions transactionJoinExample paramName ' create tabbed/viz/mapped app googleMarkingViz paramName End Sub
So the vba to create your own application, once you have created the parameter sheet and input data is very simple .. just create your own version of endToEndVenues.