Note: For production, use the blank-map-content.js
file instead of map-content.js (this file is for demo purpose). To
find the map ID, search by the state name in blank-map-content.js.
The Specify Regions to Display feature allows developers to control
the visibility of individual regions on the map using the display property (block
to show, hide to hide). This enables dynamic map customization-such as focusing on specific
states or hiding irrelevant areas-by simply toggling region visibility through the configuration,
without altering the SVG file directly.
The Specify Regions to Display feature allows you to dynamically
control the visibility of individual regions on your map using simple flags like "block"
or "hide". This is useful when you want to:
Focus only on specific states/regions.
Hide irrelevant areas based on filters or data availability.
Control region rendering without modifying the SVG manually.
Show only featured or active regions.
Temporarily hide inactive states from a map dashboard.
Display limited geographic areas based on user roles or permissions.
Make sure the following files are correctly placed:
your-project/ βββ gmh-plugin/ β βββ assets/ β β βββ css/ β β β βββ style.css β β βββ js/ β β β βββ script/ β β β β βββ geomaphub.js β β β β βββ lib/ β β β β β βββ specify-regions-to-display-gmh.js β Required β β β β β βββ interactive-tooltip-gmh.js β Required for interactive (tooltips and links.) β βββ data/ β β βββ us/ β β β βββ map-content.js β β β βββ us.svg β index.html
πΉ map_config
export const map_config = [
{
"targetClass": "US-WA", // Unique identifier for region.
"name": "Washington", // Display name for the region.
"display": "hide", // Specify Region To Display (e.g. hide, block)
},
{
"targetClass": "US-AL", // Unique identifier for region.
"name": "Alabama", // Display name for the region.
"display": "hide", // Specify Region To Display (e.g. hide, block)
},
{
"targetClass": "US-CA", // Unique identifier for region.
"name": "California", // Display name for the region.
"display": "block", // Specify Region To Display (e.g. hide, block)
},
];
| Key | Description |
|---|---|
targetClass |
Unique identifier for the region (must match SVG element's class). |
name |
Display name shown in the tooltip or UI. |
display |
Controls visibility of the region. Use "block" to show, "hide" to hide. |
<!-- Specify Regions to Display -->
<script type="module">
const currentCountry = "us";
async function initMap() {
try {
// Dynamically import map-specific data
const {map_config, general_config} = await import(`/gmh-plugin/data/${currentCountry}/map-content.js`);
const {GEOMapHub} = await import('/gmh-plugin/assets/js/script/geomaphub.js');
const {geoMapHubSpecifyRegionToDisplay} = await import('/gmh-plugin/assets/js/script/lib/specify-regions-to-display-gmh.js');
const map = new GEOMapHub("#svg-wrapper-gmh", {
svgUrl: `/gmh-plugin/data/${currentCountry}/${currentCountry}.svg`,
mapConfig: map_config,
generalConfig: general_config,
});
map.registerPlugin(geoMapHubSpecifyRegionToDisplay);
map.init();
} catch (error) {
console.error("Error initializing map:", error);
}
}
initMap();
</script>
<!-- Specify Regions to Display -->
Here's a working example to display the map
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>GEO Map Hub – Specify Regions to Display</title>
<link rel="stylesheet" href="/gmh-plugin/assets/css/style.css" />
</head>
<body>
<div id="tooltip-gmh"></div>
<div id="custom-tooltip-gmh"></div>
<div class="svg-container-gmh">
<div id="svg-wrapper-gmh"></div>
</div>
<!-- Specify Regions to Display -->
<script type="module">
const currentCountry = "us";
async function initMap() {
try {
// Dynamically import map-specific data
const {map_config, general_config} = await import(`/gmh-plugin/data/${currentCountry}/map-content.js`);
const {GEOMapHub} = await import('/gmh-plugin/assets/js/script/geomaphub.js');
const {geoMapHubSpecifyRegionToDisplay} = await import('/gmh-plugin/assets/js/script/lib/specify-regions-to-display-gmh.js');
const {geoMapHubInteractiveTooltip} = await import('/gmh-plugin/assets/js/script/lib/interactive-tooltip-gmh.js');
const map = new GEOMapHub("#svg-wrapper-gmh", {
svgUrl: `/gmh-plugin/data/${currentCountry}/${currentCountry}.svg`,
mapConfig: map_config,
generalConfig: general_config,
});
map.registerPlugin(geoMapHubSpecifyRegionToDisplay);
map.registerPlugin(geoMapHubInteractiveTooltip);
map.init();
} catch (error) {
console.error("Error initializing map:", error);
}
}
initMap();
</script>
<!-- Specify Regions to Display -->
</body>
</html>
If you're testing with a .html file locally and see this error:
Access to script at 'file:///...' from origin 'null' has been blocked by CORS policy...
It means you're loading the file using the file:// protocol.
Option 1: Use a Local Server (Recommended for HTML)
Live Server (VS Code Extension)
Install Live Server, right-click your HTML, and choose βOpen with Live Serverβ.
Or use any other local server:
# Python 3 python -m http.server # Node.js npx http-server # PHP php -S localhost:8080
Or use a local web server (e.g., XAMPP or Laragon)
Option 2: Deploy to a Real Server
You can upload your files to:
Your cPanel or shared hosting
A staging VPS or domain
Once the files are accessible via http:// or https://, the plugin works without issues.
| Region | Value of display |
Rendered on Map? |
|---|---|---|
| Washington | "hide" |
β No |
| California | "block" |
β Yes |
| Alabama | "hide" |
β No |
Some features may not work in the preview.
Click here to explore the complete website.GEO Map Hub uses cookies to ensure proper functionality and provide an enhanced user experience. By continuing, you consent to the use of all cookies. To learn more, read our Cookie Statement.