XooCode(){

Map

Map is a CreativeWork subtype for any map published as a discrete work: a venue floor plan, a seating chart, a transit diagram, a parking overview. It adds one property of its own, mapType, which takes a MapCategoryType enumeration value. Everything else (name, description, contentUrl, encodingFormat, author, license, image) is inherited from CreativeWork.

The MapCategoryType enumeration has four members: ParkingMap, SeatingMap, TransitMap, and VenueMap. If the map you are publishing does not fit any of those four, you should still use Map, just without a mapType (or with the closest fit, usually VenueMap).

Full example of schema.org/Map json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/Map
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Map",
  "name": "The Thunderdome venue map",
  "description": "Seating sections, accessible entrances, concessions, and merch booths at Xoo Code's flagship venue.",
  "mapType": "https://schema.org/VenueMap",
  "contentUrl": "https://xoocode.com/thunderdome/venue-map.pdf",
  "encodingFormat": "application/pdf",
  "author": { "@type": "Organization", "name": "Xoo Code" },
  "about": { "@type": "Place", "@id": "https://xoocode.com/thunderdome", "name": "The Thunderdome" },
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "datePublished": "2026-03-01"
}
</script>

Map vs hasMap vs GeoCoordinates

Confusingly, schema.org has three related concepts. Map (this type) is the map itself, a CreativeWork you can download or view. hasMap is a property on Place that points to a URL or a Map (a link from a venue to "here is a map of me"). GeoCoordinates is the latitude/longitude for a geographic location, not a map. A Place can have a geo (GeoCoordinates) and a hasMap (Map or URL), and the two serve different purposes: geo for location, hasMap for cartography.

Seating charts

A SeatingMap is the right type for a concert hall's interactive seating chart, but most ticketing rich results read the seat information from Seat and Ticket objects, not from a Map. Use Map.mapType = SeatingMap when you are publishing the chart as a standalone work (for instance a PDF seating chart on an arena's page).

Minimal valid version

The smallest markup that still produces a valid Map entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/Map (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Map",
  "name": "The Thunderdome venue map",
  "mapType": "https://schema.org/VenueMap",
  "contentUrl": "https://xoocode.com/thunderdome/venue-map.pdf"
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

Common Map mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    Inventing MapCategoryType values

    Wrong
    "mapType": "FloorPlan" or "StreetMap" or "TrailMap"
    Right
    "mapType": "https://schema.org/VenueMap" (the four valid values are ParkingMap, SeatingMap, TransitMap, VenueMap)

    Schema.org defines exactly four MapCategoryType members. Use the closest fit (usually VenueMap) or omit mapType entirely. Free-form strings are silently dropped by consumers.

  2. 02

    Conflating Map with hasMap

    Wrong
    Using Map on a Place to hold its location
    Right
    Put location on the Place via geo (GeoCoordinates), and link the published floor plan via hasMap (URL or Map)

    Map is a CreativeWork, not a location. The Place.hasMap property points to a Map or URL; the Place.geo property carries latitude/longitude. Do not cram map-like data into Place itself.

About the example data

The downloadable venue map of The Thunderdome in Dunmore, PA, shown as a PDF with a Map CreativeWork entry and mapType VenueMap.

Comments

Loading comments...

Leave a comment