Map keys: pins, pin card, List/Map switch and map filters

Summary

Every map in the app (the Map button, GeoDirectory map lists, and a directory list opened as a map) follows the same
rules on iOS and Android. Three app settings control the look, and three JSON keys let any plugin add a second row
of filter chips to a map. Everything here is optional, and every value is a JSON string, like every other app
setting (see Mobile JSON shape). Older app builds ignore the new keys.


App settings

All three are global app settings (App Settings, Misc section). Unset means the key is not sent and the app uses the
default.

Setting Values Default Effect
map_pin_style "card", "callout" card Tapping a pin shows a card at the bottom of the map (photo, name, address, open status, distance, Directions / Call / Details). callout keeps the classic callout bubble.
map_pin_force_default "yes", "no" no yes shows map_pin_url on every pin, ignoring listing, category, favorite and featured pins.
list_show_map_switch "yes", "no" yes A map icon on directory list screens when at least one listing in the list has a location. It opens the list’s current rows (after chips and search) on a map.

map_cluster_hide_directions = "yes" also hides the Directions button on the pin card.


Which pin a listing gets

The first one that is set wins:

  1. map_pin_url, when map_pin_force_default is "yes".
  2. map_pin_favorite_url, when the listing is a favorite.
  3. map_url_for_featured_pin, when the row’s isFeatured is "1".
  4. The row’s marker_pin (GeoDirectory sends the listing’s own pin, else its category pin).
  5. The row’s ct_cat_icon, then category_icon_url.
  6. map_pin_url (the app’s default pin).
  7. A plain pin in the app’s accent colour.

Image pins are never recoloured. A selected pin is drawn a little larger. Pins close together are grouped into a
numbered cluster unless map_turn_off_google_map_clustering is "yes".

A row whose no_map is "yes" (or "1"), and a row with no coordinates or 0,0, never gets a pin. It still shows
in the list under the map.


Map filters

A plugin can add a second row of chips under the category chips. The app filters on the phone: there is no new
request.

On the button (or at the top level of the main JSON)

The button that opens the map or list carries the chips. When the button has none, the app looks for map_filters
at the top level of the main JSON.

"map_filters": [
  { "id": "stout",       "title": "Stout" },
  { "id": "need_to_try", "title": "Need to Try" }
]
  • The chips are hidden when map_filters is missing or has fewer than two entries.
  • There is no “All” chip. Chips toggle: tap one to turn it on, tap it again to turn it off. With none on (the
    default), every pin shows. An entry with id "all" is not drawn.

On each row

"map_filter_values": { "stout": "6", "need_to_try": "2" },
"map_card_lines":    { "all": "24 beers on tap", "stout": "6 stouts on tap", "need_to_try": "2 on your Need to Try" }
  • Selecting a chip shows only the rows whose map_filter_values[id] is present and is not "", "0" or "no".
  • The filter chips combine with the category chips and the search (all must match).
  • When every present value for the chip is a number, the list under the map is ordered by it, highest first.
    Otherwise the list order does not change.
  • The pin card shows map_card_lines[id] for the selected chip; with none on, map_card_lines["all"], else nothing.
  • Values are strings, even numbers. Both keys are objects keyed by chip id.

Who sends them

  • mam-geodirectory: the Map filters setting on the GeoDirectory settings page (Rated 4+, Has upcoming events,
    Featured). See GeoDirectory map filters.
  • Any plugin can add them through mam_final_button_settings (button and rows) or the main JSON.

  • Content class: Map
  • Listing screen keys: category filter bar and sort sheet
  • Hook: mam_final_button_settings
  • Mobile JSON shape

Metadata

Field Value
Article type JSON Key Reference
Plugin slug mam-main
Applies to plugin version mam-main 26.42.20+ (settings); keys are read by the map redesign app builds
Category App Settings Reference
Audience App builder, PHP developer
Last verified 2026-10-18
Was this article helpful?
Contents

    Need Support?

    Can't find the answer you're looking for? Don't worry we're here to help!