Chris 2pha Brown

Chris Brown

Drupal, Javascript, Three.js, 3D

website blog

Goomap - Not another Drupal mapping module

Yes, I have done it, created yet another Drupal mapping module. I call him Goomap.

The first thing you are probably going to ask is "why?". Well, here's why:

  • Complexity
    Most of the time when trying to use one of the other Drupal mapping modules I would find the process far too complex. Especially the last time I used the Openlayers module. I wont go into detail about this but if you have used it you will know what I mean. Every time I have needed maps on a drupal site over the past couple of years I have found it easier to just use the Google maps api itself and not even bother with a drupal mapping module.

  • Map provider support
    Many people may consider this a step backward as the Goomap module only supports Google maps where as other mapping modules support other map providers. But I have only ever used Google maps as it has always served my purpose and the documentation is fantastic. So why support other map providers if I (and probably many others) never use them?

  • Map color customization
    Now I'm not exactly sure on how to customize the colors on the other modules, but with the Goomap module it is quite easy because the goomap module gives you access to the mapOptions object that is send to the Map constructor. The mapOptions object has a "styles" property which accepts an array which represents the styles (colors etc.) that the map will have. This "styles" array can simply be pasted into the mapOpions textarea in the map settings. You can easily generate and copy this JSON array from sites such as

  • Icon customization
    While the other modules may provide some basic customization allowing you to select a specific icon or altering the path to your icons via tokens, Goomap goes further. Goomap does let you specify the path to icons and accept tokens, but because it gives you access to the markerOptions object, it also allows you to use a Symbol object. The Symbol object is an svg vector and has some shapes built in such as circles and arrows.

  • Hooks and javascript events
    The goomap module adds many Drupal alter hooks and javascript events allowing you to interrupt and alter the generation and display of the maps.

So there you have it, some of the reasons I created the Goomap module. I do plan to add the ability to add custom buttons and ui components, but that is for later. If you are having trouble with any of the other Drupal mapping modules, feel free to give the Goomap module a try and report any errors you find in the Goomap issue queue.