Skip to content

Members Map

Members with a location on their profile, drawn on a map they can pan and zoom.

PluginUltimate Member - User Locations, or BuddyPress with a Memberside Location profile field
Endpoint groupsLocations, Directory
PlanEvery plan
Also needsA Google Maps API key under Memberside → API Keys, and a Google Maps SDK key per platform for a native map
  1. Nothing, to see it in the builder: Memberside draws the preview’s map, so you can lay the screen out before you have a Google account at all.
  2. Set a Google Maps API key under Memberside → API Keys → Google Maps Platform. Your site draws its own map with it — needed for any build without a native map, and for address search.
  3. For a native map, set Google Maps SDK key (Android) and Google Maps SDK key (iOS) in the same section. Both are different keys from the Google Maps API key above them, and from each other — see Connection and API keys.
  4. Enable Maps SDK for Android on the Android key and restrict it to your package name and signing SHA-1. The builder’s Members Map settings show the SHA-1 to add.
  5. Enable Maps SDK for iOS on the iOS key and restrict it to your bundle ID. It has to be a second key: Google restricts a key to Android apps or to iOS apps, never both.
  6. Drag Members Map onto a navigation bar or into the side drawer.
  7. Run a new build. Each platform’s key is compiled into its own app.

Which map the installed app draws is decided when you build:

Your site hasThe installed app draws
A Google Maps SDK key for that platformA native map
No SDK key at allYour site’s own Members Map page — which needs the Google Maps API key on the site, or the app draws no map

The builder preview is not on this list on purpose. Its map is ours, and it looks the same whichever row you are on, so a working preview is not evidence that the app’s map will work. The build log is.

The build log says which, and why. A native build logs the package name and the signing SHA-1 Google has to accept, and a build without one says the key was missing, or did not look like a Google API key.

Your site’s map page carries pins, clustering, the list and marker cards like the native map. It does not draw the member’s own position as a blue dot. If the page cannot load, the screen falls back to the member list. It needs Memberside 2.38.0 or later on your site.

On Android, Google accepts the Android key only from an app it recognises. Under In the installed app, the Members Map settings show the SHA-1 of the certificate your last build was signed with. Add it with your package name (the App ID in General settings) to the key’s Android restriction, and enable Maps SDK for Android on the key. Before your first build there is no SHA-1 yet; build once and it appears.

Once the app is on Google Play, add the Play App Signing SHA-1 from Play Console too. Play re-signs what you upload with its own certificate, so a restriction holding only the upload SHA-1 draws grey tiles for everyone who installs from the store. See Android signing.

SettingWhat it doesDefault
Title, DescriptionShown at the topEmpty
Location data fromWhich plugin holds your members’ coordinates. Only shown when your site can serve bothWhichever your site uses
Location fieldWhich location field to plot. Blank plots every one your site definesBlank
Marker card detailsThe profile fields shown on the card a tapped marker opensNone
List row detailsThe profile fields shown under each name in the listNone
Find members byWhatever the map is showing, or A distance from the centreWhatever the map is showing
DistanceHow far from the centre to search, 1 to 2000050
Unitskm or mileskm
Map heightThe map’s height in pixels, 160 to 900300
ZoomThe zoom level it opens at, 5 to 205
MarkerThe member’s avatar, their role’s icon, or a plain pinThe member’s avatar
Map buttonsWhich of zoom, map / satellite, compass and recenter the map showsCompass and recenter
Controls onWhich corner the zoom and recenter buttons sit inMiddle right
Map coloursThe map’s own palette. On the Appearance tabAutomatic
Marker sizeHow big the pins are, 16 to 48 px. On the Appearance tab24
Map fillsWhich of the screen’s edges the map runs to. On the Appearance tabBetween the bars
Member list startsOpen over the lower map, or closed behind a Members button. On the Appearance tabOpen
Show a member list under the mapA scrollable list beneathOn
Search again when the map is movedRe-query as the member pansOn
Group nearby membersClose markers become one bubble with a countOn
Let members take themselves off the mapAdds a switch to the screenOn
Starting centreLatitude and longitude the map opens at, overriding your site’sYour site’s
RestrictionsWhich roles see the tabEveryone

Distance and Units only appear when Find members by is set to a distance from the centre.

A Zoom of 5 opens on a city and the country around it. A community spread across one town wants something nearer 11; 20 is a single street.

5 is also as far out as anyone can go — see below — so it is the widest view the map ever shows.

Starting centre needs both a latitude and a longitude. One on its own is not a place, so it is ignored and the map falls back to your site’s own centre.

Most sites have one answer and never see the Location data from setting. It appears only when your site can serve both:

  • Ultimate Member — User Locations stores a member’s coordinates against a user_location field on your profile form.
  • BuddyPress stores them against a Memberside Location xProfile field. Add one under Users → Profile Fields and pick that field type.

One map shows one of them. To offer both, place a second Members Map.

Switching the setting clears Location field, because the two plugins name their fields differently — a key from one means nothing to the other.

Marker card details and List row details are separate settings on the Appearance tab, both picking from the same profile fields your site defines. They are separate because the surfaces are: the card has room for several fields with their labels, a list row has one line.

The fields offered follow Location data from — your Profile form’s fields for Ultimate Member, your xProfile groups’ for BuddyPress.

Marker size sets the member pin’s diameter, and everything else the map draws follows it: the viewer’s own pin, the bubble a group of members collapses into, the initials inside a pin with no avatar, and how close two members have to be before they group at all. One number rather than four, so a map cannot end up with pins of mismatched sizes.

Four buttons, each switched on or off on its own:

Button
Zoom in and outA plus and a minus. Off by default — the map pinch-zooms without them
Map / satelliteSwitches between the drawn map and Google’s photography. Off by default
Compass, rotate and tiltTwo-finger rotate and tilt, with a compass that resets north. On by default
Recenter on my locationJumps to where the member is. On by default, and only available with Show my current location

Controls on puts the zoom and recenter buttons in one of six places — top, middle or bottom, left or right. They always travel together: a map with its buttons split between two corners is harder to use, not more flexible.

Two buttons ignore that setting, on purpose:

  • Map / satellite always sits at the bottom right, held clear of your bottom navigation and of the member list when it is open. It is the button a thumb reaches for while the other hand is panning, so it gets the corner nearest the thumb whatever the rest are doing.
  • The compass is drawn by Google on Android and keeps its own corner there.

Map fills, on the Appearance tab, decides how far the map spreads:

Between the barsThe map sits inside your app’s navigation, like any other screen
Up to the top edge, behind the clockThe map runs up behind the status bar, with any top navigation floating over it
To the top and bottom edgesIt also runs down behind the bottom navigation and the phone’s gesture bar

Whichever you choose, the member list and the map’s own buttons stay clear of the navigation — nothing you need to tap ends up underneath it.

Map colours, also on the Appearance tab, sets the palette of the map itself — the land, water and roads, not the pins.

Palette
AutomaticGoogle’s own colours in light mode, a dark map in dark mode. The map changes with the rest of the app the moment a member switches
StandardGoogle’s own colours, in both modes
SilverDesaturated grey. Light
RetroWarm sepia. Light
DarkNeutral greyscale. Dark
NightBlue-black. Dark
AubergineDeep purple. Dark

Automatic is the default, and is the right answer for most apps: before it, a map in a dark app was a bright white rectangle under a dark member list.

A named palette is used in both modes. That is deliberate — you chose that colour — but it does mean picking a light palette for an app people read at night, or a dark one for an app that never goes dark, is yours to get right.

Palettes do not apply to satellite view, which is Google’s own photography. A member who switches the map to satellite sees it unchanged.

Zooming out stops at level 5 — a city and the country around it. Further out, the pins stop being places and become a scatter, and the member list under the map is the better way to answer “who is where”. Google also starts drawing bare grey above and below the world there, which reads as a broken screen rather than as the end of the range.

The limit is the same everywhere: the builder preview, the phone, and a map set to fill to both edges. It is not a setting, but Zoom cannot be set below it, so the two always agree.

A map with a marker per member, and — with the list on — the same members underneath.

Tapping a marker or a row opens a card: the member’s name and photo, whichever fields you chose, their address and distance where the site publishes them, and View profile. That opens the Profile — the BuddyPress one on a BuddyPress map, which takes its own settings from the BuddyPress Profile feature.

Marker decides what a pin looks like. The member’s avatar draws their photo in a circle. Their role’s icon draws the image set on their Ultimate Member role, falling back to their avatar where a role has none — the app is told which to use, because role settings are not something it can read. A plain pin draws the same marker for everyone.

With Group nearby members on, markers that sit close together are drawn as one bubble carrying a count, and tapping it zooms in until they separate. Where they cannot separate — members whose coordinates round to the same point, which at the default precision is anyone within about 110m of each other — it lists them instead, and picking one opens their card.

The preview groups them the same way but cannot zoom, so a bubble there always opens the list.

Turn it off to draw every member as their own marker. Worth doing for a small community, where a bubble reading “3” is less use than three faces.

With Let members take themselves off the map on, the screen carries a Hide me from this map switch. It hides that member’s pin from everyone else without clearing the location they saved, so turning it back on needs no re-entry. It never hides anyone else from them.

Under the map is Show members near me. Tapping it asks for the device location, centres the map there and lists whoever is within the distance you set. A member who does not tap it is never asked.

With Search again when the map is moved on, panning re-queries, so the list always matches what is on screen. Turning it off makes the map a viewer for one search rather than a live one, which is calmer on a slow connection.

Members on the map, re-searching as it is panned

Coordinates are rounded before the app receives them. Set this under Memberside → REST API → Locations, beside the switches for the group itself.

SettingRounds toAlso returned
CityAbout 1.1 km
NeighbourhoodAbout 110 m
StreetAbout 11 m
ExactNothing — the true pointThe street address and a maps link

Neighbourhood is what a site gets until someone changes it.

Exact is the one to think about. At that setting any signed-in member can read the exact location and street address of every member who has one, in bulk, through the app. That suits a directory of businesses. It is rarely what a community of people wants.

This rounding applies to the app only. It does not change what your website’s member directory shows — change that in Ultimate Member - User Locations.

The app asks for location permission in two places: when a member adds their own location to their profile, and when they tap Show members near me on this screen. Nothing asks on launch, and the map works for a member who declines — they see everyone else’s pins, just not their own position.

The prompt text is fixed, and App Review reads exactly those words — see Store readiness.

SymptomCauseFix
A grey tile where the map should beThe server Maps key was used instead of an SDK key, or the key belongs to the other platformSet Google Maps SDK key (Android) and (iOS) and rebuild
A grey tile with the right keyMaps SDK for Android or iOS is not enabled on itEnable both in Google Cloud
Grey tiles only in the Play Store downloadThe Play App Signing SHA-1 is not on the keyAdd it from Play Console
The installed app shows a web map, not a native oneYour site had no SDK key when you builtSet the key and rebuild. The build log says which map it chose
The installed app shows only the member listNo SDK key, and your site’s map page could not load: no Google Maps API key, or Memberside older than 2.38.0Set the key, or update Memberside
The preview shows a flat plate, not a mapRare now that Memberside draws it, and it means our map could not load — a blocked network, or an ad blocker stopping maps.googleapis.comReload the builder. Your own keys are not involved
The map works in preview, not on the phoneExpected: the preview’s map is ours and the app’s is yours. The key restriction does not match the app’s signing certificateCheck the restriction, or Android signing
The phone shows the member list with no map above itThe app found no map to draw and gave the screen to the list rather than leaving a blank rectangleSet that platform’s SDK key, or the site’s Google Maps API key for the page fallback, and rebuild
The map is emptyThe Locations group is off, or no member has a locationCheck both
Some members are missingTheir location is in a field the Location field setting excludesLeave it blank to plot every field
The card is greyed outNeither Ultimate Member - User Locations nor BuddyPress is activeActivate one
The Location field list is emptyThe chosen source defines no location field yetAdd one, or switch Location data from
A marker’s card shows “No details to show”That member has no value for any field you choseExpected. Pick a field more members fill in
The card is empty for everyoneNo fields are set under Marker card detailsPick some on the Appearance tab
The app got noticeably largerThis screen carries the Maps SDKExpected. Remove the feature to remove the cost
Pins sit near a member but not on themCoordinates are rounded before the app sees themExpected. Change it under Memberside → REST API → Locations