{"id":154921,"date":"2022-03-26T12:39:33","date_gmt":"2022-03-26T12:39:33","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/geo-maps\/"},"modified":"2026-09-30T07:01:14","modified_gmt":"2026-09-30T07:01:14","slug":"geo-maps","status":"publish","type":"plugin","link":"https:\/\/az.wordpress.org\/plugins\/geo-maps\/","author":20328202,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.1","stable_tag":"2.0.1","tested":"7.1.2","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"MatrixMap \u2013 Google Maps, OpenStreetMap, Store Locator & World Maps","header_author":"MatrixAddons","header_description":"WordPress Map Plugin","assets_banners_color":"6f7990","last_updated":"2026-09-30 07:01:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/matrixaddons.com\/plugins\/matrixmap\/","header_author_uri":"https:\/\/matrixaddons.com\/","rating":5,"author_block_rating":0,"active_installs":100,"downloads":7356,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"matrixaddons","date":"2022-03-28 16:18:54","revision":2700746},"1.0.10":{"tag":"1.0.10","author":"matrixaddons","date":"2022-10-25 03:10:08","revision":2803705},"1.0.11":{"tag":"1.0.11","author":"matrixaddons","date":"2023-04-29 11:36:05","revision":2906072},"1.0.12":{"tag":"1.0.12","author":"matrixaddons","date":"2023-09-21 02:27:07","revision":2969487},"1.0.13":{"tag":"1.0.13","author":"matrixaddons","date":"2023-09-21 02:29:35","revision":2969490},"1.0.2":{"tag":"1.0.2","author":"matrixaddons","date":"2022-03-28 16:18:54","revision":2700746},"1.0.3":{"tag":"1.0.3","author":"matrixaddons","date":"2022-03-28 16:18:54","revision":2700746},"1.0.4":{"tag":"1.0.4","author":"matrixaddons","date":"2022-04-06 15:46:23","revision":2705849},"1.0.5":{"tag":"1.0.5","author":"matrixaddons","date":"2022-04-06 15:57:02","revision":2705854},"1.0.6":{"tag":"1.0.6","author":"matrixaddons","date":"2022-04-12 15:56:59","revision":2708684},"1.0.7":{"tag":"1.0.7","author":"matrixaddons","date":"2022-09-06 06:18:58","revision":2780471},"1.0.8":{"tag":"1.0.8","author":"matrixaddons","date":"2022-10-20 02:38:07","revision":2801586},"1.0.9":{"tag":"1.0.9","author":"matrixaddons","date":"2022-10-21 02:04:59","revision":2802193},"1.1":{"tag":"1.1","author":"matrixaddons","date":"2024-07-04 02:56:57","revision":3112073},"1.2":{"tag":"1.2","author":"matrixaddons","date":"2026-02-25 07:31:01","revision":3469126},"1.2.1":{"tag":"1.2.1","author":"matrixaddons","date":"2026-02-25 07:49:28","revision":3469134},"1.2.2":{"tag":"1.2.2","author":"matrixaddons","date":"2026-02-25 09:59:41","revision":3469287},"2.0.0":{"tag":"2.0.0","author":"matrixaddons","date":"2026-09-30 01:54:18","revision":3720136},"2.0.1":{"tag":"2.0.1","author":"matrixaddons","date":"2026-09-30 07:01:14","revision":3720493}},"upgrade_notice":{"2.0.0":"<p>MatrixMaps becomes MatrixMap: a new map builder, a store locator and region maps, with no API key needed. Your existing maps keep working. Requires WordPress 6.5 and PHP 7.4.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3720131,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3720131,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3720131,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3720131,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3720131,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3720495,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"meta\":{\"title\":\"MatrixMap demo\",\"description\":\"A store locator with 20 caf\\u00e9s, a world data map and a US states map.\",\"author\":\"matrixaddons\",\"categories\":[\"Maps\"]},\"landingPage\":\"\\\/find-a-cafe\\\/\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"login\":true,\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"geo-maps\"},\"options\":{\"activate\":true}},{\"step\":\"setSiteOptions\",\"options\":{\"permalink_structure\":\"\\\/%postname%\\\/\"}},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once '\\\/wordpress\\\/wp-load.php';\\nuse MatrixMap\\\\Locations\\\\Location;\\nuse MatrixMap\\\\Maps\\\\MapConfig;\\n\\n$cats = array();\\nforeach (array('Caf\\u00e9' => '#b45309', 'Roastery' => '#7c3aed', 'Drive-thru' => '#0891b2') as $name => $color) {\\n    $t = wp_insert_term($name, 'mm_location_category');\\n    if (!is_wp_error($t)) { $cats[$name] = (int) $t['term_id']; update_term_meta($cats[$name], 'mm_color', $color); }\\n}\\n$hours = array();\\nforeach (array('mon','tue','wed','thu','fri','sat','sun') as $d) { $hours[$d] = array(array('07:00', 'sat' === $d || 'sun' === $d ? '17:00' : '19:00')); }\\n$stores = array(\\n    array('SoHo','112 Prince St','New York','NY','10012',40.7250,-73.9985,'Caf\\u00e9'),\\n    array('Williamsburg','214 Bedford Ave','Brooklyn','NY','11249',40.7176,-73.9577,'Roastery'),\\n    array('Back Bay','301 Newbury St','Boston','MA','02115',42.3485,-71.0850,'Caf\\u00e9'),\\n    array('Dupont Circle','1517 Connecticut Ave NW','Washington','DC','20036',38.9110,-77.0435,'Caf\\u00e9'),\\n    array('River North','420 N Wells St','Chicago','IL','60654',41.8895,-87.6340,'Caf\\u00e9'),\\n    array('Loop','55 E Monroe St','Chicago','IL','60603',41.8807,-87.6255,'Caf\\u00e9'),\\n    array('Wicker Park','1530 N Milwaukee Ave','Chicago','IL','60622',41.9095,-87.6770,'Roastery'),\\n    array('Capitol Hill','1200 E Pike St','Seattle','WA','98122',47.6140,-122.3165,'Caf\\u00e9'),\\n    array('Ballard','5300 Ballard Ave NW','Seattle','WA','98107',47.6670,-122.3830,'Roastery'),\\n    array('Pearl District','1100 NW Glisan St','Portland','OR','97209',45.5265,-122.6825,'Caf\\u00e9'),\\n    array('Mission','3200 Valencia St','San Francisco','CA','94110',37.7565,-122.4210,'Caf\\u00e9'),\\n    array('Silver Lake','3900 Sunset Blvd','Los Angeles','CA','90029',34.0915,-118.2790,'Caf\\u00e9'),\\n    array('North Park','3000 University Ave','San Diego','CA','92104',32.7485,-117.1300,'Drive-thru'),\\n    array('LoDo','1600 Wazee St','Denver','CO','80202',39.7525,-105.0010,'Caf\\u00e9'),\\n    array('South Congress','1500 S Congress Ave','Austin','TX','78704',30.2485,-97.7500,'Caf\\u00e9'),\\n    array('Deep Ellum','2700 Main St','Dallas','TX','75226',32.7845,-96.7835,'Drive-thru'),\\n    array('Midtown','950 Peachtree St NE','Atlanta','GA','30309',33.7810,-84.3835,'Caf\\u00e9'),\\n    array('Wynwood','250 NW 24th St','Miami','FL','33127',25.8000,-80.1990,'Caf\\u00e9'),\\n    array('The Gulch','600 12th Ave S','Nashville','TN','37203',36.1520,-86.7845,'Caf\\u00e9'),\\n    array('North Loop','300 Washington Ave N','Minneapolis','MN','55401',44.9855,-93.2735,'Drive-thru'),\\n);\\n$per = array();\\nforeach ($stores as $i => $s) {\\n    $id = wp_insert_post(array('post_type' => 'mm_location', 'post_status' => 'publish', 'post_title' => 'Lumen Coffee \\u2014 ' . $s[0], 'post_content' => 'Espresso bar, pour-overs and fresh pastries.'));\\n    Location::save_fields($id, array('street' => $s[1], 'city' => $s[2], 'state' => $s[3], 'postcode' => $s[4], 'country' => 'US', 'lat' => $s[5], 'lng' => $s[6], 'phone' => sprintf('(555) %03d-%04d', 200 + $i, 1000 + $i * 37), 'hours' => $hours));\\n    if (isset($cats[$s[7]])) { wp_set_object_terms($id, array($cats[$s[7]]), 'mm_location_category'); }\\n    $per['US-' . $s[3]] = ($per['US-' . $s[3]] ?? 0) + 1;\\n}\\nfunction mm_demo_map($title, $config) { $id = wp_insert_post(array('post_type' => 'geo-maps', 'post_status' => 'publish', 'post_title' => $title)); MapConfig::save($id, $config); return $id; }\\n$c = MapConfig::defaults('locator'); $c['size']['height'] = '600px'; $c['locator']['categories'] = array_values($cats);\\n$locator = mm_demo_map('Find a caf\\u00e9', $c);\\n$c = MapConfig::defaults('region'); $c['size']['height'] = '520px'; $c['region']['map'] = 'world';\\n$c['region']['choropleth'] = array('enabled' => true, 'palette' => 'oranges', 'steps' => 5, 'scale' => 'quantile', 'noData' => '#e7e5e4', 'style' => 'fill');\\n$c['region']['legend'] = array('enabled' => true, 'title' => 'Coffee bought in 2026 (bags)', 'position' => 'bottom-left');\\n$c['region']['valueSuffix'] = ' bags';\\nforeach (array('BR' => 3200, 'CO' => 2400, 'ET' => 1800, 'VN' => 900, 'KE' => 750, 'GT' => 680, 'HN' => 620, 'PE' => 540, 'CR' => 480, 'ID' => 460, 'RW' => 320, 'MX' => 300, 'UG' => 240, 'IN' => 220, 'PA' => 160) as $code => $v) { $c['region']['regions'][$code] = array('value' => (string) $v); }\\n$world = mm_demo_map('Where our coffee comes from', $c);\\n$c = MapConfig::defaults('region'); $c['size']['height'] = '520px'; $c['region']['map'] = 'us-states'; $c['region']['labels'] = true;\\n$c['region']['choropleth'] = array('enabled' => true, 'palette' => 'blues', 'steps' => 4, 'scale' => 'quantize', 'noData' => '#e5e7eb', 'style' => 'fill');\\n$c['region']['legend'] = array('enabled' => true, 'title' => 'Caf\\u00e9s per state', 'position' => 'bottom-left');\\nforeach ($per as $code => $n) { $c['region']['regions'][$code] = array('value' => (string) $n); }\\n$us = mm_demo_map('Caf\\u00e9s by state', $c);\\n$page = function ($title, $slug, $html) { return wp_insert_post(array('post_type' => 'page', 'post_status' => 'publish', 'post_title' => $title, 'post_name' => $slug, 'post_content' => '<!-- wp:group {\\\"align\\\":\\\"wide\\\",\\\"layout\\\":{\\\"type\\\":\\\"constrained\\\",\\\"contentSize\\\":\\\"1100px\\\"}} --><div class=\\\"wp-block-group alignwide\\\">' . $html . '<\\\/div><!-- \\\/wp:group -->')); };\\nforeach (get_posts(array('post_type' => array('post', 'page'), 'numberposts' => 5, 'post_status' => 'any', 'name__in' => array('hello-world', 'sample-page'))) as $old) { wp_delete_post($old->ID, true); }\\n$page('Find a caf\\u00e9', 'find-a-cafe', \\\"<!-- wp:paragraph --><p>Search a US city (try <strong>Chicago<\\\/strong> or <strong>Seattle<\\\/strong>) or use your location.<\\\/p><!-- \\\/wp:paragraph -->\\\\n<!-- wp:shortcode -->[matrixmap id=\\\\\\\"$locator\\\\\\\"]<!-- \\\/wp:shortcode -->\\\");\\n$page('Where our coffee comes from', 'our-coffee', \\\"<!-- wp:shortcode -->[matrixmap id=\\\\\\\"$world\\\\\\\"]<!-- \\\/wp:shortcode -->\\\");\\n$page('Caf\\u00e9s by state', 'cafes-by-state', \\\"<!-- wp:shortcode -->[matrixmap id=\\\\\\\"$us\\\\\\\"]<!-- \\\/wp:shortcode -->\\\");\\nupdate_option('blogname', 'Lumen Coffee Co. \\u2014 MatrixMap demo');\\nflush_rewrite_rules(false);\\n\"}]}"}},"all_blocks":{"matrixmaps\/map":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"matrixmaps\/map","version":"2.0.0","title":"MatrixMap","category":"matrixmap","icon":"location-alt","description":"Show a map with your places: custom markers, popups, categories, clustering and directions. No API key needed.","keywords":["map","maps","google maps","openstreetmap","location","marker","geo"],"textdomain":"geo-maps","attributes":{"map_id":{"type":"string","default":"0"},"width":{"type":"string","default":"100%"},"height":{"type":"string","default":"500px"},"title":{"type":"string","default":""}},"supports":{"align":["wide","full"],"anchor":true,"html":false,"spacing":{"margin":true}},"example":{"attributes":{"map_id":"0"}},"editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css"},"matrixmaps\/store-search":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"matrixmaps\/store-search","version":"2.0.0","title":"Store Search","category":"matrixmap","icon":"search","description":"A compact \u201cfind a store near you\u201d box for any page, header or sidebar. Visitors land on your store locator with the results already shown.","keywords":["store locator","search","find","near me","postcode","dealer"],"textdomain":"geo-maps","attributes":{"page":{"type":"number","default":0},"label":{"type":"string","default":""},"placeholder":{"type":"string","default":""},"button":{"type":"string","default":""},"locate":{"type":"boolean","default":true}},"supports":{"align":["wide","full"],"anchor":true,"html":false,"spacing":{"margin":true,"padding":true}},"editorScript":"file:.\/index.js","style":"file:.\/style-index.css"},"matrixmaps\/locator":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"matrixmaps\/locator","version":"2.0.0","title":"Store Locator","category":"matrixmap","icon":"store","description":"Let visitors find the nearest location: address or postcode search, \u201cuse my location\u201d, radius and category filters, opening hours and directions.","keywords":["store locator","locations","find","near me","dealer","map","geolocation"],"textdomain":"geo-maps","attributes":{"config":{"type":"object","default":{}},"title":{"type":"string","default":""}},"supports":{"align":["wide","full"],"anchor":true,"html":false,"spacing":{"margin":true}},"editorScript":"file:.\/index.js"},"matrixmaps\/region":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"matrixmaps\/region","version":"2.0.0","title":"Region Map","category":"matrixmap","icon":"admin-site-alt3","description":"Interactive world, country and US state maps: colour regions by value with a legend, add tooltips and links. Accessible and lightweight.","keywords":["world map","us map","choropleth","interactive map","region","country","states","heat map"],"textdomain":"geo-maps","attributes":{"config":{"type":"object","default":{}},"title":{"type":"string","default":""}},"supports":{"align":["wide","full"],"anchor":true,"html":false,"spacing":{"margin":true}},"editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css"}},"tagged_versions":["1.0.1","1.0.10","1.0.11","1.0.12","1.0.13","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9","1.1","1.2","1.2.1","1.2.2","2.0.0","2.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3720131,"resolution":"1","location":"assets","locale":"","width":1600,"height":1000},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3720131,"resolution":"10","location":"assets","locale":"","width":1600,"height":1000},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3720131,"resolution":"2","location":"assets","locale":"","width":1600,"height":1000},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3720131,"resolution":"3","location":"assets","locale":"","width":1600,"height":1000},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3720131,"resolution":"4","location":"assets","locale":"","width":1600,"height":1000},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3720131,"resolution":"5","location":"assets","locale":"","width":1600,"height":1000},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3720131,"resolution":"6","location":"assets","locale":"","width":1600,"height":1000},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3720131,"resolution":"7","location":"assets","locale":"","width":1600,"height":1000},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3720131,"resolution":"8","location":"assets","locale":"","width":1600,"height":1000},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3720131,"resolution":"9","location":"assets","locale":"","width":1600,"height":1000}},"screenshots":{"1":"The store locator: search by address or \u201cnear me\u201d, with distances, opening hours and one-tap directions.","2":"Region maps from your data: 302 ready-made maps, values pasted from a spreadsheet, a live preview.","3":"Interactive data maps with tooltips, legends, zoom and an accessible data table.","4":"Every US state and county \u2014 and the regions of 200+ countries \u2014 with labels and links.","5":"The visual map builder: markers, shapes, styles, clustering, categories and the locator, with a live preview.","6":"Add maps with the MatrixMap blocks, a shortcode or the Elementor widget.","7":"Fast and mobile-friendly: maps load only where they are used and adapt to small screens.","8":"Import locations from a spreadsheet (CSV), or switch from another map plugin.","9":"Privacy-friendly: maps can wait for consent from your cookie plugin; no API key needed.","10":"A guided dashboard with a setup checklist, health check and built-in documentation."}},"plugin_section":[],"plugin_tags":[1571,16172,2660,16164,6102],"plugin_category":[49],"plugin_contributors":[209276],"plugin_business_model":[],"class_list":["post-154921","plugin","type-plugin","status-publish","hentry","plugin_tags-google-maps","plugin_tags-interactive-map","plugin_tags-maps","plugin_tags-openstreetmap","plugin_tags-store-locator","plugin_category-maps-and-location","plugin_contributors-matrixaddons","plugin_committers-matrixaddons"],"banners":{"banner":"https:\/\/ps.w.org\/geo-maps\/assets\/banner-772x250.png?rev=3720131","banner_2x":"https:\/\/ps.w.org\/geo-maps\/assets\/banner-1544x500.png?rev=3720131","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/geo-maps\/assets\/icon.svg?rev=3720131","icon":"https:\/\/ps.w.org\/geo-maps\/assets\/icon.svg?rev=3720131","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/geo-maps\/assets\/screenshot-1.png?rev=3720131","caption":"The store locator: search by address or \u201cnear me\u201d, with distances, opening hours and one-tap directions."},{"src":"https:\/\/ps.w.org\/geo-maps\/assets\/screenshot-2.png?rev=3720131","caption":"Region maps from your data: 302 ready-made maps, values pasted from a spreadsheet, a live preview."},{"src":"https:\/\/ps.w.org\/geo-maps\/assets\/screenshot-3.png?rev=3720131","caption":"Interactive data maps with tooltips, legends, zoom and an accessible data table."},{"src":"https:\/\/ps.w.org\/geo-maps\/assets\/screenshot-4.png?rev=3720131","caption":"Every US state and county \u2014 and the regions of 200+ countries \u2014 with labels and links."},{"src":"https:\/\/ps.w.org\/geo-maps\/assets\/screenshot-5.png?rev=3720131","caption":"The visual map builder: markers, shapes, styles, clustering, categories and the locator, with a live preview."},{"src":"https:\/\/ps.w.org\/geo-maps\/assets\/screenshot-6.png?rev=3720131","caption":"Add maps with the MatrixMap blocks, a shortcode or the Elementor widget."},{"src":"https:\/\/ps.w.org\/geo-maps\/assets\/screenshot-7.png?rev=3720131","caption":"Fast and mobile-friendly: maps load only where they are used and adapt to small screens."},{"src":"https:\/\/ps.w.org\/geo-maps\/assets\/screenshot-8.png?rev=3720131","caption":"Import locations from a spreadsheet (CSV), or switch from another map plugin."},{"src":"https:\/\/ps.w.org\/geo-maps\/assets\/screenshot-9.png?rev=3720131","caption":"Privacy-friendly: maps can wait for consent from your cookie plugin; no API key needed."},{"src":"https:\/\/ps.w.org\/geo-maps\/assets\/screenshot-10.png?rev=3720131","caption":"A guided dashboard with a setup checklist, health check and built-in documentation."}],"raw_content":"<!--section=description-->\n<p><strong><a href=\"https:\/\/playground.wordpress.net\/?blueprint-url=https:\/\/ps.w.org\/geo-maps\/assets\/blueprints\/blueprint.json\">Live demo<\/a> | <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/\">Website<\/a> | <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#features\">Features<\/a> | <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#compare\">Free vs Pro<\/a> | <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">MatrixMap Pro<\/a> | <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pricing\">Pricing<\/a> | <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#faq\">FAQ<\/a> | <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/docs\/\">Documentation<\/a> | <a href=\"https:\/\/wordpress.org\/support\/plugin\/geo-maps\/\">Support<\/a><\/strong><\/p>\n\n<p>MatrixMap puts maps on your site in minutes, with <strong>no API key, no account and no monthly bill<\/strong>. Build a map with a visual editor, add a store locator that finds the nearest locations, or colour a world or country map with your own data. Everything is keyboard and screen reader accessible, and nothing loads until a visitor needs it. See it on the <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/\">MatrixMap website<\/a> or try the <a href=\"https:\/\/playground.wordpress.net\/?blueprint-url=https:\/\/ps.w.org\/geo-maps\/assets\/blueprints\/blueprint.json\">live demo<\/a> right in your browser.<\/p>\n\n<p>https:\/\/www.youtube.com\/watch?v=v6zfepSNTt8<\/p>\n\n<h4>Why MatrixMap?<\/h4>\n\n<ul>\n<li><strong>Free where others charge:<\/strong> the store locator, 302 region maps (including every US county), CSV import and plugin importers are all in the free plugin, with no limits on maps, places or locations and no MatrixMap branding on your maps.<\/li>\n<li><strong>No API key, no billing account:<\/strong> maps and address search work the moment you activate the plugin.<\/li>\n<li><strong>Built for real sites:<\/strong> privacy-friendly loading, keyboard and screen-reader support, and a 2 KB loader that only runs on pages with a map.<\/li>\n<li><strong>Easy to switch:<\/strong> bring your maps and stores over from eight popular map and store locator plugins without editing a page.<\/li>\n<\/ul>\n\n<h4>Made for<\/h4>\n\n<p>Store and dealer locators, franchises and chains, restaurants and caf\u00e9s, real estate and property listings, tours and travel routes, events and venues, service areas and sales territories, and data stories such as election results, sales by state or members by country.<\/p>\n\n<h4>Three kinds of map<\/h4>\n\n<p>See them in action on the <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#features\">MatrixMap website<\/a>.<\/p>\n\n<ul>\n<li><strong>Maps with places.<\/strong> Search for an address or click the map to drop a pin, then add a title, text, a photo, a phone number and a link. Group places into categories that visitors can filter. Draw areas, routes and circles, or add a GPX, KML or GeoJSON file.<\/li>\n<li><strong>Store locator.<\/strong> Keep your stores, dealers or offices as locations, each with an address, contact details, opening hours and your own extra details (parking, languages, services\u2026). Visitors search by address or postcode, with suggestions from your own locations as they type, or tap <strong>Use my location<\/strong>. They get the nearest locations with distances, \"Open now\" status and one-tap directions in Google Maps, Apple Maps or Waze. Add the <strong>Store Search<\/strong> box to your home page or header to send visitors straight to their results.<\/li>\n<li><strong>World and region maps \u2014 302 of them, all free.<\/strong> The world, continents, US states and <strong>the counties of every US state<\/strong>, the regions of 200+ countries, and detailed maps: French departments, Italian and Spanish provinces, UK local authorities, German districts, Indian districts, Australian council areas, New Zealand districts, Canadian economic regions, Philippine provinces and the municipalities of every Mexican state. Click a region on the map to edit it, edit many at once, or paste a spreadsheet to make a data map with a legend. Regions can link to pages or open their details in a panel beside the map or a pop-up window. Region maps load no map tiles and use no third-party services.<\/li>\n<li><strong>Region maps your way:<\/strong> colour each region or colour by value, bubbles, labels, groups, lines between places, pins or dots or your own icons with names beside them, start zoomed in on the regions you choose, limit the zoom, tooltips on hover or on click, and fade or hide regions without data.<\/li>\n<\/ul>\n\n<h4>Built around location<\/h4>\n\n<ul>\n<li><strong>Near me:<\/strong> visitors share their location once and get the nearest results and directions from where they are.<\/li>\n<li><strong>Approximate location without asking:<\/strong> if your site is behind Cloudflare, CloudFront, Vercel, Fastly or Akamai, the locator can start near the visitor's city using the country and city those networks already send. No prompt, no IP database, no extra service.<\/li>\n<li><strong>Smart address search:<\/strong> results favour the country your visitor is in and the countries where you have locations, and \"Did you mean\u2026?\" suggestions help with ambiguous places.<\/li>\n<li><strong>Fast radius search<\/strong> from its own location index, even with thousands of locations.<\/li>\n<li><strong>Correct opening hours everywhere:<\/strong> each location's time zone is worked out from where it is, so \"Open now\" is right for every branch.<\/li>\n<\/ul>\n\n<h4>No API key needed<\/h4>\n\n<p>Maps use free OpenStreetMap-based map styles (from OpenFreeMap) out of the box. You can switch to other free styles (topographic, cycling, public transport, satellite imagery), or add a key for Google Maps, MapTiler, Thunderforest or Mapbox if you prefer.<\/p>\n\n<h4>Privacy, speed and accessibility<\/h4>\n\n<ul>\n<li><strong>GDPR-friendly loading:<\/strong> with a consent plugin (WP Consent API, Complianz, Cookiebot, CookieYes, Borlabs, iubenda), maps wait for consent. Visitors can also load a single map with one click.<\/li>\n<li><strong>Nothing on pages without a map.<\/strong> On pages with a map, a 2 KB loader waits until the map scrolls into view and then loads only what that map needs.<\/li>\n<li><strong>Accessible:<\/strong> markers are real buttons, popups can be used with the keyboard, and each map comes with a text list of its places. Region maps include a data table.<\/li>\n<li><strong>No scroll-jacking:<\/strong> on mobile the page scrolls normally and two fingers move the map; on desktop, Ctrl + scroll zooms.<\/li>\n<li>Works with WP Rocket, LiteSpeed Cache, Perfmatters, SiteGround Optimizer, Autoptimize and FlyingPress.<\/li>\n<\/ul>\n\n<h4>Made for the block editor<\/h4>\n\n<p>Start from a ready-made template (one location, places with a list, a route, a store locator, countries you serve, a data map) or a blank map. The Map, Store Locator, Region Map and Store Search blocks show a live preview in the editor, and you can create or edit a map without leaving the page. Shortcodes and a classic widget work too.<\/p>\n\n<h4>Switching from another map plugin?<\/h4>\n\n<p>MatrixMap imports your maps from <strong>WP Go Maps<\/strong>, <strong>MapPress<\/strong>, <strong>WP Maps<\/strong> and <strong>Interactive Geo Maps (MapGeo)<\/strong>, and your stores from <strong>WP Store Locator<\/strong> and <strong>Agile Store Locator<\/strong>. It can also show <strong>Leaflet Map<\/strong> shortcodes and <strong>WP Map Block<\/strong> blocks. The other plugin's data is only read, never changed. When you deactivate the old plugin, its shortcodes and blocks show the MatrixMap version, so no page needs editing.<\/p>\n\n<h4>Also included<\/h4>\n\n<ul>\n<li>Clustering for maps with many places<\/li>\n<li>Location categories with colours, and category filter buttons<\/li>\n<li>Popup text with simple formatting (bold, italic, links, lists)<\/li>\n<li>CSV import with column matching, and CSV and GeoJSON export<\/li>\n<li>Special opening hours (holidays) and temporary closures<\/li>\n<li>Map styles, marker colours, icons and your own marker images<\/li>\n<li>Full-screen button, \"show my location\" button and scale bar<\/li>\n<li>Developer hooks and a REST API<\/li>\n<\/ul>\n\n<h4>MatrixMap Pro<\/h4>\n\n<p>Everything above is free, with no limits on maps, places or locations. <strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">MatrixMap Pro<\/a><\/strong> is an optional add-on for businesses that want their maps to bring in customers. It adds:<\/p>\n\n<p>https:\/\/www.youtube.com\/watch?v=cWmUX5fn68k<\/p>\n\n<p><strong>Store locator and locations<\/strong><\/p>\n\n<ul>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Directions on your own map<\/a><\/strong> \u2013 driving, walking and cycling routes drawn on the map with travel time and turn-by-turn steps, from a locator result or a popup. Keyless routing (OSRM) or your own OpenRouteService, GraphHopper, Mapbox or Google key.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Locator analytics and a demand map<\/a><\/strong> \u2013 searches, directions, calls, website clicks and messages per location, and a map of where people search but you have no store. Anonymous, no cookies.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">A page for every location<\/a><\/strong> \u2013 search-friendly location pages with a map, opening hours, contact buttons, LocalBusiness structured data and sitemap entries.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Messages to locations<\/a><\/strong> \u2013 a \"Send a message\" form in popups, results and location pages, emailed to the right store.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Result templates<\/a><\/strong> \u2013 cards, photo cards or compact rows, with Route, Message and More info buttons.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">\"Open now only\" filter<\/a><\/strong> \u2013 using each location's time zone, holidays and overnight hours.<\/li>\n<\/ul>\n\n<p><strong>Growing a network<\/strong><\/p>\n\n<ul>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Location submissions and dealer sign-up<\/a><\/strong> \u2013 visitors, members or dealers add their location for your review; \"My locations\" lets them keep it up to date.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Enquiries sent to the nearest dealer<\/a><\/strong> \u2013 a \"Find a dealer\" form that routes each enquiry to the closest location by email.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Visitor location on any host<\/a><\/strong> \u2013 a local copy of the free DB-IP Lite database, so the locator and blocks know the visitor's city without a third-party request.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Geo-targeted content and a Nearest location block<\/a><\/strong> \u2013 show content by country or distance, and the closest stores with distance and hours.<\/li>\n<\/ul>\n\n<p><strong>Region maps and data<\/strong><\/p>\n\n<ul>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Click actions<\/a><\/strong> \u2013 a region or place opens a picture gallery, a YouTube or Vimeo video, a page of your site or another web page in a lightbox.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Drilldown<\/a><\/strong> \u2013 from the world to a country's states, and on to US counties or Mexican municipalities, with an optional link to the store locator.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Combined and custom maps<\/a><\/strong> \u2013 world and North America state maps, and your own maps from SVG or GeoJSON: floor plans, campuses, sales territories.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Region values from your content or a Google Sheet<\/a><\/strong> \u2013 fill a map from categories, custom fields or a sheet or feed that refreshes in the background.<\/li>\n<\/ul>\n\n<p><strong>Automation and integrations<\/strong><\/p>\n\n<ul>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Scheduled data sync<\/a><\/strong> \u2013 keep locations in step with a Google Sheet, CSV or JSON feed, with preview, log and email alerts.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Maps from your posts<\/a><\/strong> \u2013 any post type with coordinates, an ACF map field or an address, plus a Posts map block for the Query Loop.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Routes, tours, heatmaps and a 3D globe<\/a><\/strong> \u2013 planned routes through your places with elevation profiles, density heatmaps and a globe view.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">WooCommerce \"Where to buy\"<\/a><\/strong> \u2013 a store finder on product pages that lists only the stores stocking that product, with stock badges.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Page builders and WP-CLI<\/a><\/strong> \u2013 Bricks, Divi and WPBakery elements, and <code>wp matrixmap<\/code> commands for imports, exports and sync.<\/li>\n<li><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">Updates and email support<\/a><\/strong> \u2013 one-click updates and email support with your licence (priority support on Agency).<\/li>\n<\/ul>\n\n<p>Plans start at $49 a year for one site (Plus: 5 sites, Agency: 25 sites), or pay once with a lifetime licence, with a 14-day money-back guarantee. Pro installs next to the free plugin, keeps your maps as they are, and keeps working if a licence lapses; the licence brings updates and support.<\/p>\n\n<p><strong><a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">See every Pro feature<\/a> \u00b7 <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#compare\">Compare Free and Pro<\/a> \u00b7 <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pricing\">Plans and pricing<\/a><\/strong> \u2014 or open <strong>MatrixMap \u2192 Free vs Pro<\/strong> in your dashboard.<\/p>\n\n<h4>Upgrading from MatrixMaps 1.x<\/h4>\n\n<p>Your existing maps, <code>[geo_maps]<\/code> shortcodes and blocks keep working exactly where they are, with the same size, markers and popups. They are converted on the fly and your old settings are never deleted.<\/p>\n\n<h3>External services<\/h3>\n\n<p>MatrixMap connects to the services below only when a map, the store locator or an address search needs them. Region maps use none of them. No data is sent until a map is shown (and, with a consent plugin, until the visitor agrees). When a map is shown, the visitor's browser downloads map images or data from the chosen provider, which receives the visitor's IP address and browser details as with any web request.<\/p>\n\n<h4>OpenFreeMap (default map style)<\/h4>\n\n<p>Provides the default map styles, map tiles and map fonts from tiles.openfreemap.org. Used for every map unless you choose another style. The plugin's Site Health check also requests one tile from your server to confirm the service is reachable. Service: https:\/\/openfreemap.org\/ \u2014 map data \u00a9 OpenStreetMap contributors.<\/p>\n\n<h4>OpenStreetMap tile servers<\/h4>\n\n<p>If you choose the \"OpenStreetMap\" style or the plugin's classic (Leaflet) engine, map images are loaded from tile.openstreetmap.org. Tile usage policy: https:\/\/operations.osmfoundation.org\/policies\/tiles\/ \u2014 Privacy policy: https:\/\/osmfoundation.org\/wiki\/Privacy_Policy<\/p>\n\n<h4>Nominatim (default address search)<\/h4>\n\n<p>When you search an address in the map builder or location editor, or a visitor searches the store locator, the search text is sent from your server to nominatim.openstreetmap.org. Results are cached on your site. Usage policy: https:\/\/operations.osmfoundation.org\/policies\/nominatim\/ \u2014 Privacy policy: https:\/\/osmfoundation.org\/wiki\/Privacy_Policy<\/p>\n\n<h4>Photon (optional address search)<\/h4>\n\n<p>Only if you select Photon in Settings: search text is sent from your server to photon.komoot.io. Service: https:\/\/photon.komoot.io\/ \u2014 Privacy policy: https:\/\/www.komoot.com\/privacy<\/p>\n\n<h4>Optional free map styles<\/h4>\n\n<p>Only if you select them for a map:\n* OpenTopoMap (tile.opentopomap.org): https:\/\/opentopomap.org\/about\n* CyclOSM (tile-cyclosm.openstreetmap.fr, hosted by OpenStreetMap France): https:\/\/www.cyclosm.org\/\n* \u00d6PNVKarte (tileserver.memomaps.de): https:\/\/memomaps.de\/\n* Esri World Imagery (server.arcgisonline.com): Terms https:\/\/www.esri.com\/en-us\/legal\/terms\/full-master-agreement \u2014 Privacy https:\/\/www.esri.com\/en-us\/privacy\/overview<\/p>\n\n<h4>Google Maps Platform (optional, needs your API key)<\/h4>\n\n<p>Only if you add a Google API key: maps that use the Google engine load the Maps JavaScript API from maps.googleapis.com, and address search can use the Google Geocoding API from your server. The \"Test key\" button in Settings sends one Static Maps request. Terms: https:\/\/cloud.google.com\/maps-platform\/terms \u2014 Privacy policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<h4>MapTiler (optional, needs your API key)<\/h4>\n\n<p>Only if you add a MapTiler key and choose a MapTiler style or MapTiler address search: maps and searches use api.maptiler.com. Terms: https:\/\/www.maptiler.com\/terms\/ \u2014 Privacy policy: https:\/\/www.maptiler.com\/privacy-policy\/<\/p>\n\n<h4>Thunderforest (optional, needs your API key)<\/h4>\n\n<p>Only if you add a Thunderforest key and choose its style: map images load from tile.thunderforest.com. Terms: https:\/\/www.thunderforest.com\/terms\/ \u2014 Privacy policy: https:\/\/www.thunderforest.com\/privacy\/<\/p>\n\n<h4>Mapbox (optional, needs your access token)<\/h4>\n\n<p>Only if you add a Mapbox token and choose its style: map images load from api.mapbox.com. Terms: https:\/\/www.mapbox.com\/legal\/tos \u2014 Privacy policy: https:\/\/www.mapbox.com\/legal\/privacy<\/p>\n\n<h4>Directions links<\/h4>\n\n<p>\"Directions\" buttons are plain links to Google Maps (www.google.com\/maps), Apple Maps (maps.apple.com) or Waze (waze.com) with the destination's coordinates. Nothing is sent unless the visitor clicks one.<\/p>\n\n<h3>Source code<\/h3>\n\n<p>The readable JavaScript and SCSS source is in <code>assets\/src<\/code> and is built with <code>@wordpress\/scripts<\/code> (<code>npm install &amp;&amp; npm run build<\/code>). The development repository is https:\/\/github.com\/matrixaddons\/geo-maps<\/p>\n\n<p>Bundled libraries: MapLibre GL JS (BSD-3-Clause), Leaflet (BSD-2-Clause), Supercluster (ISC), d3-geo (ISC), @tmcw\/togeojson (BSD-2-Clause) and Lucide icons (ISC). Region maps are built from Natural Earth data (public domain) and US Census county boundaries (public domain, via us-atlas, ISC). Detailed maps use open government data via geoBoundaries: Survey Department of Nepal \/ OCHA (CC BY 3.0 IGO), UK Office for National Statistics (Open Government Licence v3.0), \u00a9 GeoBasis-DE \/ BKG (dl-de\/by-2-0), Statistics Canada (Open Government Licence \u2013 Canada), Australian Bureau of Statistics (CC BY 4.0), Stats NZ (CC BY 4.0), World Bank \/ INEGI (CC BY 4.0) and lgdirectory.gov.in (ODbL). See <code>assets\/regions\/LICENSE-DATA.txt<\/code>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong>, search for <strong>MatrixMap<\/strong> and install it.<\/li>\n<li>Activate it.<\/li>\n<li>Go to <strong>MatrixMap \u2192 Add New Map<\/strong>, or add the <strong>Map<\/strong>, <strong>Store Locator<\/strong> or <strong>Region Map<\/strong> block to any page.<\/li>\n<\/ol>\n\n<p>For a store locator, add your stores under <strong>MatrixMap \u2192 Locations<\/strong> (or import a CSV under <strong>MatrixMap \u2192 Import &amp; Tools<\/strong>), then add the Store Locator block or <code>[matrixmap_locator]<\/code>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20google%20maps%20api%20key%3F\"><h3>Do I need a Google Maps API key?<\/h3><\/dt>\n<dd><p>No. Maps and address search work without any key. A Google key is only needed if you want Google's own map tiles or geocoding.<\/p><\/dd>\n<dt id=\"is%20it%20gdpr%20compliant%3F\"><h3>Is it GDPR compliant?<\/h3><\/dt>\n<dd><p>MatrixMap stores no visitor data and sets no cookies. Map tiles come from an outside server, so by default maps wait for consent when a consent plugin is active. You can also make every map \"click to load\". Region maps use no outside services at all.<\/p><\/dd>\n<dt id=\"how%20does%20%22near%20me%22%20work%3F\"><h3>How does \"near me\" work?<\/h3><\/dt>\n<dd><p>When a visitor clicks <strong>Use my location<\/strong>, the browser asks them for permission and gives the position to the page. The page sends it to your site's own search endpoint to find the nearest locations; it is not stored and not sent to any outside service. Without a click, the locator can start near the visitor's city if your CDN provides it (see \"Built around location\").<\/p><\/dd>\n<dt id=\"which%20address%20search%20service%20is%20used%3F\"><h3>Which address search service is used?<\/h3><\/dt>\n<dd><p>Nominatim (OpenStreetMap) by default, which is free and needs no key. You can switch to Photon, MapTiler or Google in <strong>Settings<\/strong>. Results are cached on your site, so each address is looked up only once.<\/p><\/dd>\n<dt id=\"how%20many%20places%20or%20locations%20can%20i%20have%3F\"><h3>How many places or locations can I have?<\/h3><\/dt>\n<dd><p>Up to 5,000 places per map, and thousands of store locator locations. Maps with many places cluster automatically.<\/p><\/dd>\n<dt id=\"can%20i%20show%20a%20map%20of%20only%20my%20country%3F\"><h3>Can I show a map of only my country?<\/h3><\/dt>\n<dd><p>Yes. Add a Region Map block and pick one of 302 maps: the world, continents, US states and counties, the states, provinces and regions of 200+ countries, or a detailed map (departments, provinces, districts, municipalities). You can also start the map zoomed in on the regions you choose, or hide the regions you don't use.<\/p><\/dd>\n<dt id=\"can%20i%20move%20maps%20to%20another%20site%3F\"><h3>Can I move maps to another site?<\/h3><\/dt>\n<dd><p>Yes. MatrixMap \u2192 Import &amp; Tools \u2192 Export downloads your maps as a file, and Import maps adds them to another site (as drafts, so you can check them first). Each map in the Maps list also has an Export link.<\/p><\/dd>\n<dt id=\"will%20my%20old%20maps%20still%20work%20after%20updating%20from%201.x%3F\"><h3>Will my old maps still work after updating from 1.x?<\/h3><\/dt>\n<dd><p>Yes. Nothing needs to be changed, and your 1.x data is kept.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20matrixmap%20and%20matrixmap%20pro%3F\"><h3>What is the difference between MatrixMap and MatrixMap Pro?<\/h3><\/dt>\n<dd><p>The free plugin is complete: unlimited maps, the store locator, all 302 region maps, imports and exports. <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#pro\">MatrixMap Pro<\/a> adds directions on your map, analytics, location pages, dealer networks, drilldown and automation. Pro installs next to the free plugin and your maps stay as they are. See <strong>MatrixMap \u2192 Free vs Pro<\/strong> in your dashboard or the <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/#compare\">comparison on our website<\/a> for the full list.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20elementor%20and%20other%20page%20builders%3F\"><h3>Does it work with Elementor and other page builders?<\/h3><\/dt>\n<dd><p>Yes. Use the MatrixMap widget in Elementor, the blocks in the block editor, or a shortcode such as <code>[matrixmap id=\"123\"]<\/code> in any page builder or classic editor. MatrixMap Pro adds native Bricks, Divi and WPBakery elements.<\/p><\/dd>\n<dt id=\"can%20i%20use%20my%20google%20my%20maps%2C%20kml%2C%20gpx%20or%20geojson%20files%3F\"><h3>Can I use my Google My Maps, KML, GPX or GeoJSON files?<\/h3><\/dt>\n<dd><p>Yes. In Google My Maps choose \"Export to KML\/KMZ\" and tick \"Export to a .KML file\" (KMZ archives aren't supported), or use any GPX, KML or GeoJSON file, and add it to a map as a layer. Uploaded files are checked before they are accepted.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20caching%20and%20optimisation%20plugins%3F\"><h3>Does it work with caching and optimisation plugins?<\/h3><\/dt>\n<dd><p>Yes. With WP Rocket, LiteSpeed Cache, Perfmatters, SiteGround Optimizer, Autoptimize and FlyingPress, MatrixMap automatically excludes its small loader from their \"delay\", \"defer\" and \"combine JavaScript\" features, so maps don't go blank.<\/p><\/dd>\n<dt id=\"does%20it%20support%20multisite%3F\"><h3>Does it support multisite?<\/h3><\/dt>\n<dd><p>Yes, network-wide or per site. Each site keeps its own maps, locations and settings.<\/p><\/dd>\n<dt id=\"where%20is%20the%20documentation%3F\"><h3>Where is the documentation?<\/h3><\/dt>\n<dd><p>Online: the <a href=\"https:\/\/matrixaddons.com\/plugins\/matrixmap\/docs\/\">MatrixMap documentation<\/a>. Inside WordPress: <strong>MatrixMap \u2192 Docs<\/strong> has a searchable guide covering setup, every feature, troubleshooting, privacy and the developer hooks. Settings screens link to the relevant page with \"Learn more\". For help, open a topic in the <a href=\"https:\/\/wordpress.org\/support\/plugin\/geo-maps\/\">support forum<\/a>.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data if I delete the plugin?<\/h3><\/dt>\n<dd><p>By default your maps, locations and settings are kept, so reinstalling brings everything back. To remove everything, turn on <strong>Settings \u2192 Advanced \u2192 Also delete all maps, locations and settings<\/strong> before deleting the plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Improved: the built-in help, settings texts and readme match the plugin (category filter buttons, supported consent plugins including iubenda, 200+ country maps, how \"near me\" search works).<\/li>\n<li>New: a link to the online documentation on the Docs screen, and videos of MatrixMap and MatrixMap Pro in the readme.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<p>MatrixMaps is now <strong>MatrixMap<\/strong>, rebuilt from the ground up. All 1.x maps, shortcodes and blocks keep working.<\/p>\n\n<p><strong>Maps and the builder<\/strong><\/p>\n\n<ul>\n<li>New: a visual map builder with a live preview (desktop, tablet, phone): address search, click-to-add, drag to move, categories, clustering, shapes and GPX\/KML\/GeoJSON layers.<\/li>\n<li>New: maps without an API key (OpenFreeMap vector maps), with optional Google Maps, MapTiler, Thunderforest and Mapbox.<\/li>\n<li>New: starter templates, a full-screen editor, and export\/import of maps between sites.<\/li>\n<\/ul>\n\n<p><strong>Store locator<\/strong><\/p>\n\n<ul>\n<li>New: search by address or \"Use my location\", radius and category filters, \"Open now\" badges, suggestions from your own locations and directions links.<\/li>\n<li>New: locations with opening hours, special hours, temporary closures, time zones and extra details; CSV import (thousands of rows, addresses placed for you) and CSV\/GeoJSON export.<\/li>\n<li>New: a Store Search block that sends visitors to your locator page.<\/li>\n<\/ul>\n\n<p><strong>Region maps<\/strong><\/p>\n\n<ul>\n<li>New: 302 ready-made maps \u2014 the world, continents, US states and every US county, the regions of 200+ countries, and detailed maps (departments, provinces, districts, Mexican municipalities).<\/li>\n<li>New: colour regions from your data, bubbles, legends, labels, region groups, markers, lines, a region finder, tooltips, details panels, deep links (?mm_region=) and an accessible data table.<\/li>\n<\/ul>\n\n<p><strong>Everywhere<\/strong><\/p>\n\n<ul>\n<li>New: Map, Store Locator, Region Map and Store Search blocks, shortcodes and an Elementor widget.<\/li>\n<li>New: one MatrixMap admin \u2014 a Dashboard with a setup checklist and health check, Settings with search, Import &amp; Tools, and built-in documentation (MatrixMap \u2192 Docs).<\/li>\n<li>New: switch from WP Go Maps, MapPress, WP Maps, Interactive Geo Maps (MapGeo), WP Store Locator, Agile Store Locator, Leaflet Map and WP Map Block.<\/li>\n<li>New: privacy-friendly loading \u2014 maps can wait for consent (WP Consent API, Complianz, Cookiebot, CookieYes, Borlabs, iubenda); nothing loads on pages without a map.<\/li>\n<li>Accessibility: keyboard-operable maps, regions and popups, text alternatives and screen-reader announcements.<\/li>\n<li>Performance: large location sets load a compact index and details on demand; locators download only search results; caches rebuild in the background.<\/li>\n<li>Security: hardened uploads, rate limits that can't be bypassed with spoofed IP headers, API keys only sent to pages that need them, and private data kept out of public endpoints.<\/li>\n<li>Changed: requires WordPress 6.5 and PHP 7.4.<\/li>\n<\/ul>\n\n<h4>1.2.2 - 2026-02-25<\/h4>\n\n<ul>\n<li>Fixed: removed \"Plugin\" from the plugin name to comply with WordPress.org guidelines.<\/li>\n<li>Fixed: license mismatch between readme.txt and plugin headers (now both GPLv3).<\/li>\n<li>Fixed: added ArcGIS World Imagery service documentation.<\/li>\n<li>Fixed: output escaping throughout.<\/li>\n<\/ul>\n\n<h4>1.2.1 - 2026-02-25<\/h4>\n\n<ul>\n<li>Fixed: the src directory was excluded from the package.<\/li>\n<\/ul>\n\n<h4>1.2 - 2026-02-25<\/h4>\n\n<ul>\n<li>Rebranded to MatrixMaps; WordPress.org guideline, security and translation fixes.<\/li>\n<\/ul>\n\n<h4>1.1 - 2024-07-04<\/h4>\n\n<ul>\n<li>Added: draw lines between markers.<\/li>\n<li>Fixed: WordPress 6.6 compatibility.<\/li>\n<\/ul>\n\n<h4>1.0 - 2022-03-26<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Maps that work without an API key: a visual map builder, a store locator with &quot;near me&quot; search, and clickable world and region maps.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/154921","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=154921"}],"author":[{"embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/matrixaddons"}],"wp:attachment":[{"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=154921"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=154921"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=154921"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=154921"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=154921"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=154921"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}