Skip to content

Instantly share code, notes, and snippets.

@carmoreira
carmoreira / massachusetts.geojson
Last active January 20, 2022 09:44
Massachusetts Municipalities GeoJSON
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@carmoreira
carmoreira / hidelabels.js
Last active November 27, 2023 14:59
Hide auto labels until map reaches specific zoom level - Interactive Geo Maps
// works for version >1.5.3.3
//replace with your map ID
let mapID = 3491739;
let zoomLevel = 8;
let igmNow = Date.now();
function igmHideMarkers(igmap) {
igmNow = Date.now();
let series = iMaps.maps[mapID].labelSeries;
series.forEach(function(serie) {
@carmoreira
carmoreira / globals.js
Last active December 27, 2022 14:35
Global variables to alter behaviour on Interactive Geo Maps
/*
* Zoom Level for Markers on Click with Zoom on Click enabled
* if you do not override the value, it will default to zoom to
* the value double of the current zoom.
*/
let igmMarkerZoomLevelOnClick = 32;
/*
* Opacity for base region series when drilldown or show specific map action is perfomed
*/
@carmoreira
carmoreira / zoom.js
Created January 12, 2022 09:26
Lock minimum zoom level for a map - Interactive Geo Maps
// replace with your map ID
let mapID = 236162;
let mapContainer = document.getElementById('map_' + mapID);
mapContainer.addEventListener('mapready', function(ev) {
iMaps.maps[mapID].map.minZoomLevel = iMaps.maps[mapID].map.zoomLevel;
});
@carmoreira
carmoreira / track.js
Last active November 22, 2021 16:28
Interactive Geo Maps - Track events with Google Analytics
let mapID = 22309; // change to your MAP ID
let mapContainer = document.getElementById('map_' + mapID);
mapContainer.addEventListener('mapready', function(ev) {
iMaps.maps[mapID].series[0].mapPolygons.each(function(region) {
region.events.on("hit", function(ev) {
let data = region.dataItem.dataContext;
gtag('event', 'map_click', {
'event_label': 'My Map',
'event_category': 'Click',
'value': data.name,
@carmoreira
carmoreira / inactive.js
Created November 19, 2021 14:16
Interactive Geo Maps - Set default tooltip for inactive regions
// replace with your map ID and region code.
let mapID = 3491443;
let mapContainer = document.getElementById('map_' + mapID);
mapContainer.addEventListener('mapready', function(ev) {
iMaps.maps[mapID].series[0].mapPolygons.each(function(region) {
let inactive = region.dataItem.dataContext.madeFromGeoData;
if (inactive) {
region.dataItem.dataContext.tooltipContent = 'Empty Country';
}
});
@carmoreira
carmoreira / listenAndTrigger.js
Last active November 17, 2021 09:07
Interactive Geo Maps - Listen to click event on regions and trigger custom code
// replace with your map ID and region code.
let mapID = 236162;
let mapContainer = document.getElementById('map_' + mapID);
mapContainer.addEventListener('mapready', function(ev) {
iMaps.maps[mapID].series[0].mapPolygons.each(function(region) {
region.events.on("hit", function(ev) {
let data = region.dataItem.dataContext;
// run my custom code here if clicked region
// region code will be data.id
// region name will be data.name
@carmoreira
carmoreira / toggle.js
Created October 8, 2021 18:06
Toggle visibility of single marker when using dropdown or list in Interactive Geo Maps WordPress plugin
// set map ID and default marker to display.
let mapID = 3485106;
let defaultMarker = 'Marker 01';
let mapContainer = document.getElementById('map_' + mapID);
mapContainer.addEventListener('mapready', function(ev) {
let allMarkers = iMapsManager.getMarkersByValue(mapID, '*', 'id');
let myMarker = iMapsManager.getMarkersByValue(mapID, defaultMarker, 'id');
@carmoreira
carmoreira / sloveniaLow.json
Created September 24, 2021 18:06
Slovenia geojson
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@carmoreira
carmoreira / style.css
Last active November 29, 2022 11:20
Full height map css hack - Interactive Geo Maps
.map_wrapper .map_aspect_ratio {
padding-top: 0 !important;
height: calc(100vh) !important;
max-height: calc(100vh) !important;
}
/* If you only want it on smaller screens */
@media only screen and (max-width: 768px) {