Overlaying shapes on markers get it now
This article will cover 3 main topics
- How to add a circle to a marker
- how to work out a colorramp
- how to use a different icon
Try it out first ?
If you just want a to try it, then you can download an example application (googleMapping.xlsm) and come back here later. First you should take a look at Adding markers to Google Maps from Excel since this is just an enhancement of that.
How to specify circle sizes and colors
As in the other mapping examples, javaScript procedures are created based on the Excel data, which are then executed to create a map. Adding circles is simply building on what has been already covered in Adding markers to Google Maps from Excel.
Here is an example
Specifying the color
The color is specified as standard html color code. This is similar, but not the same as, RGB codes. See VBA rgb to htmlRGB for how to convert. Quite often using a color ramp - see Charts and color ramps, is an effective method of choosing overlay colors. You can use the Color ramp library to do this, and it can be entered as an Excel formula. In the example above, the markerColor column has this formula - with the color being calculated according to its position relative to the maximum and minimum size.=rgbToHTMLHex(rampLibraryRGB("heatmap",MIN($F$2:$F$8),MAX($F$2:$F$8),F2))
Activating circles
The module for generating this map is exactly the same as in Adding markers to Google Maps from Excel, but in the geoCoding Parameters Sheet we have introduced this, where the color and size parameter are given the names of the columns that hold the values to use in order to plot the circle.
Changing the properties of the circle
By default, the circle properties are
if (sz) {
var circle = {
strokeColor: color,
strokeOpacity: 0.8,
strokeWeight: 1,
fillColor: color,
fillOpacity: 0.20,
map: gMap,
center: p,
radius: parseFloat(sz),
};
Changing these is just a matter of editing the above, which is in the functions row of the marker html parameter block in the geoCodingParamers worksheet. For advice on calculating sizes, see the size of circles on Google Maps.
Using squares instead of circle overlays
You can use a square instead of a circle by changing a parameter on the geocoding parameters sheet. Just change the shape parameter to 'square'
Using alternative Markers
You can also specify alternative markers. In the same Markers parameter block, just specify an alterative image to use in the column that corresponds to the markerImage parameter.You might want to check out http://mapicons.nicolasmollet.com/ or http://mabp.kiev.ua/2010/01/12/google-map-markers/ for ready made images to use.
See Creating a VizMap Application for how to do the same thing with more complex applications in both google maps and google earth.