Our Collector's Offer is a fantastic way of filling your house with beautiful maps and art. If you add two maps or art prints to your bag, add a third one and it's on the house. This is equivalent to 33% off if you buy three items of the same price. This discount is applied automatically when you add something to your bag.
Check my Map Gift Guide for some gift inspiration, for Valentine's Day or Father's Day perhaps.
If you're looking for a smaller discount code, please use the code UM15 to get 15% off.
We print and frame in 25 countries around the world. Around 95% of orders are fulfilled locally with quick delivery.
If you're a returning customer, or looking to buy a lot of maps, please contact me and I'll create a personalised discount for you.
Please note that personalised maps are not discounted, as they are too popular and take too long to make. Contact me if you're ordering a very large personalised map - I may be able to give you a small discount.
see more
Handmade locally
Established in 1984, The Unique Maps Co. locally manufactures and delivers maps around the world. Fast delivery, no import duty, and your map always arrives in perfect condition. Learn more.
Rated 'Excellent' on Trustpilot and 5,000+ 5 star reviews
Limited edition (50 only) — hand-numbered on exclusive cotton rag. Includes a certificate of authenticity and blockchain verification (+$40).' + limitedEditionTooltip + "
";
} catch {}
}
const addEventListenerToPersonalised = () => {
//const personalisedButton = document.querySelector("div.checkbox_same_line.personalise_checkbox > span > fieldset > label > input");
//personalisedButton.addEventListener("click", showPersonalisedSlide);
}
const addEventListenerToOriginal = () => {
//const originalButton = document.querySelector("#infiniteoptions-container > div.option_colour_tone > span > label:nth-child(1) > input");
//originalButton.addEventListener("click", showOriginalSlide);
// So the page doesn't slam around when they click 'original'
//const originalButton = document.querySelector("#infiniteoptions-container > div.option_colour_tone > span > label:nth-child(1) > input");
//originalButton.addEventListener("click", showAgedSlide);
}
const addEventListenerToAged = () => {
//const agedButton = document.querySelector("#infiniteoptions-container > div.option_colour_tone > span > label:nth-child(2) > input");
//agedButton.addEventListener("click", showAgedSlide);
// So the page doesn't slam around when they click 'original'
//const originalButton = document.querySelector("#infiniteoptions-container > div.option_colour_tone > span > label:nth-child(1) > input");
//originalButton.addEventListener("click", showAgedSlide);
}
const addEventListenerToPopart = () => {
//const popartButton = document.querySelector("div.checkbox_same_line.pop_art_text_checkbox > span > fieldset > label > input");
//popartButton.addEventListener("click", showPopartSlide);
// So the page doesn't slam around when they click 'original'
//const originalButton = document.querySelector("#infiniteoptions-container > div.option_colour_tone > span > label:nth-child(1) > input");
//originalButton.addEventListener("click", showAgedSlide);
}
const addEventListenerToUnique3D = () => {
//const unique3dButton = document.querySelector("div.checkbox_same_line.unique3d_checkbox > span > fieldset > label > input");
//try { unique3dButton.addEventListener("click", showUnique3DSlide);}
//catch {}
// So the page doesn't slam around when they click 'original'
//const originalButton = document.querySelector("#infiniteoptions-container > div.option_colour_tone > span > label:nth-child(1) > input");
//originalButton.addEventListener("click", showAgedSlide);
}
const addEventListenerToUnique3DPM = () => {
//const unique3dpmButton = document.querySelector("div.checkbox_same_line.unique3dpm_checkbox > span > fieldset > label > input");
//try {unique3dpmButton.addEventListener("click", showUnique3DPMSlide);}
//catch {}
// So the page doesn't slam around when they click 'original'
//const originalButton = document.querySelector("#infiniteoptions-container > div.option_colour_tone > span > label:nth-child(1) > input");
//originalButton.addEventListener("click", showAgedSlide);
}
const addEventListenerToSizeSwitch = () => {
const sizeSwitchButton = document.querySelector("#cm_inch_switch");
sizeSwitchButton.addEventListener("click", doSizeSwitch);
if (sizeConversions.length >= 4) {
//sizeSwitchButton.innerHTML = "(convert to " + sizeNextUnit + ")";
if (sizeNextUnit == "inches") {
sizeSwitchButton.innerHTML = "Convert: cm | in";
} else {
sizeSwitchButton.innerHTML = "Convert:cm | in";
}
}
// So the page doesn't slam around when they click 'original'
//const originalButton = document.querySelector("#infiniteoptions-container > div.option_colour_tone > span > label:nth-child(1) > input");
//originalButton.addEventListener("click", showAgedSlide);
}
//document.querySelector("input[type=radio][name='properties[Colour of text]']:checked").value
/*
window.mobileCheck = function() {
let check = false;
(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera);
return check;
};
function showOriginalSlide() {
window.ShowOriginalSlideOnce;
if (!window.ShowOriginalSlideOnce) {
try {
Flickity.data(".product-slideshow").select(0);
if (window.mobileCheck()) {
//globalThis.scrollTo({ top: 0, left: 0, behavior: "smooth" });
}
}
catch (TypeError) {}
window.ShowOriginalSlideOnce = 1;
}
}
*/
function categorizeSize(sizeString) {
// Extract the width (the number before "x")
const match = sizeString.match(/^(\d+)x/);
const sizesA = ['A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'A6'];
// Check if the size is one of the A sizes
if (sizesA.some(size => sizeString.includes(size))) {
return "A";
}
// Handle unexpected formats
if (!match) return "Invalid format";
// Convert to number
const width = parseInt(match[1], 10);
return width <= 28 ? "small" : "large";
}
function showSizeSlide() {
var selectedSize = document.querySelector('input[name="Size"]:checked').value;
var categorizedSize = categorizeSize(selectedSize);
try {
if (categorizedSize == "A") {
Flickity.data(".product-slideshow").select(Flickity.data(".product-slideshow").cells.length-1);
} else if (categorizedSize == "small") {
Flickity.data(".product-slideshow").select(Flickity.data(".product-slideshow").cells.length-2)
} else {
if (window.numberOfProductImages <= 4) {
Flickity.data(".product-slideshow").select(window.numberOfProductImages);
} else {
Flickity.data(".product-slideshow").select(4);
}
}
} catch {}
window.ShowSizeSlideOnce;
if (!window.ShowSizeSlideOnce) {
if (window.mobileCheck()) {
globalThis.scrollTo({ top: 180, left: 0, behavior: "smooth" });
}
}
window.ShowSizeSlideOnce = 1;
}
function showAgedSlide() {
window.ShowAgedSlideOnce;
if (!window.ShowAgedSlideOnce) {
try {
if (window.numberOfProductImages <= 4) {
Flickity.data(".product-slideshow").select(window.numberOfProductImages+1);
} else {
Flickity.data(".product-slideshow").select(5);
}
}
catch (TypeError) { }
if (!window.ShowAgedSlideOnce) {
if (window.mobileCheck()) {
globalThis.scrollTo({ top: 180, left: 0, behavior: "smooth" });
}
}
window.ShowAgedSlideOnce = 1;
}
}
function showPersonalisedSlide() {
window.ShowPersonalisedSlideOnce;
if (document.querySelector("div.checkbox_same_line.personalise_checkbox > span > fieldset > label > input").checked == true) {
if (!window.ShowPersonalisedSlideOnce) {
try {
if (window.numberOfProductImages <= 4) {
Flickity.data(".product-slideshow").select(window.numberOfProductImages+2);
} else {
Flickity.data(".product-slideshow").select(6);
}
}
catch (TypeError) {}
if (!window.ShowPersonalisedSlideOnce) {
if (window.mobileCheck()) {
globalThis.scrollTo({ top: 180, left: 0, behavior: "smooth" });
}
}
window.ShowPersonalisedSlideOnce = 1;
}
}
}
function showPopartSlide() {
window.ShowPopartSlideOnce;
if (document.querySelector("div.checkbox_same_line.pop_art_text_checkbox > span > fieldset > label > input").checked == true) {
if (!window.ShowPopartSlideOnce) {
try {
if (window.numberOfProductImages <= 4) {
Flickity.data(".product-slideshow").select(window.numberOfProductImages+4);
} else {
Flickity.data(".product-slideshow").select(8);
}
}
catch (TypeError) {}
if (!window.ShowPopartSlideOnce) {
if (window.mobileCheck()) {
globalThis.scrollTo({ top: 180, left: 0, behavior: "smooth" });
}
}
window.ShowPopartSlideOnce = 1;
}
}
}
function showUnique3DSlide() {
window.ShowUniqueSlideOnce;
if (document.querySelector("div.checkbox_same_line.unique3d_checkbox > span > fieldset > label > input").checked == true) {
if (!window.ShowUniqueSlideOnce) {
try {
if (window.numberOfProductImages <= 4) {
Flickity.data(".product-slideshow").select(window.numberOfProductImages+5);
} else {
Flickity.data(".product-slideshow").select(9);
}
}
catch (TypeError) { console.log (TypeError);}
if (!window.ShowUniqueSlideOnce) {
if (window.mobileCheck()) {
globalThis.scrollTo({ top: 180, left: 0, behavior: "smooth" });
}
}
window.ShowUniqueSlideOnce = 1;
}
}
}
function showUnique3DPMSlide() {
window.ShowUniquePMSlideOnce;
if (document.querySelector("div.checkbox_same_line.unique3dpm_checkbox > span > fieldset > label > input").checked == true) {
if (!window.ShowUniquePMSlideOnce) {
try {
if (window.numberOfProductImages <= 4) {
Flickity.data(".product-slideshow").select(window.numberOfProductImages+5);
} else {
Flickity.data(".product-slideshow").select(9);
}
}
catch (TypeError) {}
if (!window.ShowUniquePMSlideOnce) {
if (window.mobileCheck()) {
globalThis.scrollTo({ top: 180, left: 0, behavior: "smooth" });
}
}
window.ShowUniquePMSlideOnce = 1;
}
}
}
function showFinishSlide() {
window.ShowFinishSlideOnce;
if (!window.ShowFinishSlideOnce) {
try {
if (window.numberOfProductImages <= 4) {
Flickity.data(".product-slideshow").select(window.numberOfProductImages+3);
} else {
Flickity.data(".product-slideshow").select(7);
}
/*
if (window.mobileCheck()) {
globalThis.scrollTo({ top: 0, left: 0, behavior: "smooth" });
}
*/
window.ShowFinishSlideOnce = 1;
}
catch (TypeError) {}
}
}
// Example function to get a value by key
function getValueByKey(searchKey) {
const match = sizeConversions.find(pair => pair.key === searchKey);
return match ? match.value : null; // Returns the value or null if no match
}
// Function to set innerHTML conditionally
function setInnerHTMLIfValueExists(element, key) {
const result = getValueByKey(key);
if (result) { // Only updates if result is truthy (not null or undefined)
element.innerHTML = result;
}
}
const convertAllSizes = () => {
document.querySelectorAll(`.variant-wrapper fieldset[name="Size"] input[name="Size"]`).forEach(input => {
const sizeValue = input.value + "-" + sizeNextUnit;
const label = input.nextElementSibling;
// convert sizeValue
//const convertedValue = convertSize(sizeValue, currentMetric, otherMetric);
//const label = input.nextElementSibling;
//label.textContent = convertedValue;
//console.log ("lookup:"+sizeValue+"result:"+getValueByKey(sizeValue));
//console.log (sizeConversions.find(pair => sizeValue.includes(pair.key)));
if (getValueByKey(sizeValue)) {label.textContent = getValueByKey(sizeValue);}
});
//const temp = currentMetric;
//currentMetric = otherMetric;
//otherMetric = temp;
}
function doSizeSwitch() {
try {
convertAllSizes();
//const stickyAddToCart = document.querySelector('[js-product="stickyAddToCart"]');
updateStickyAddToCartVariant(stickyAddToCart, {}); // or null
}
catch (TypeError) {}
if (sizeNextUnit == "centimetres") {
sizeNextUnit = "inches";
} else {
sizeNextUnit = "centimetres";
}
if (sizeConversions.length >= 4) {
//document.querySelector("#cm_inch_switch").innerHTML = "(convert to " + sizeNextUnit + ")";
if (sizeNextUnit == "inches") {
document.querySelector("#cm_inch_switch").innerHTML = "Convert:cm | in";
} else {
document.querySelector("#cm_inch_switch").innerHTML = "Convert:cm | in";
}
}
//console.log("Next unit:"+sizeNextUnit);
}
//const changeMapmakerButton = () => { document.querySelector("#showPopupButton").innerHTML = "(New!) Preview Your Map";}
//const changeMapmakerButton = () => { mida.execute(9144); } */
try {
const reAppearShopPayButton = () => {$("shop-pay-wallet-button").length&&$("shop-pay-wallet-button").attr("style","display: block !important");$(".shopify-payment-button").attr("style","display: block !important");}
} catch {}
console.log("Request page type: collection");
document.addEventListener("DOMContentLoaded", () => {
// on page load
window.numberOfProductImages;
window.numberOfProductImages = 0;
// document.body.click();
try {
setTimeout (reAppearShopPayButton, 3000);
} catch {}
});