BuddyPress · BuddyBoss · Location and maps
Your members have locations but no map. This plugin puts them on one.
Members attach a place to any activity update, set a location on their profile, and appear as pins on the members directory map. Visitors search by address and radius to find members and groups nearby.
★★★★★ Works with BuddyPress and BuddyBoss Platform · Google Maps or keyless OpenStreetMap · Member and group directory maps
Built for
Built for six kinds of community operators.
Maps fill in the moment members save a location, with no key required if you stay on OpenStreetMap. Pick the scenario closest to how you run your community.
Community managers
A map sits above the members directory with a pin for everyone who saved a location. Members attach a place to any activity update from the post form, and that check-in shows an inline map in the stream. You decide which roles can see another member's Check-ins tab.
Membership site owners
Members set their location once on their profile through mapped xProfile fields, and the coordinates are geocoded and stored for the directory map and proximity search. A Nearby tab uses the visitor's browser location to show only members within a set radius.
Local and regional networks
Visitors type an address and a distance into the directory search to find members within that radius, in miles or kilometres. The same proximity search runs on the groups directory so people find the chapters and meetups closest to them.
Privacy-conscious operators
You choose how much address detail other members see and can switch on coordinate obfuscation so public map pins are coarsened with a per-check-in offset. Raw coordinates stay in the database so proximity search keeps working.
Group and chapter organizers
Each group gets a location tab where admins enter the group's address, and every located group appears as a pin on the groups directory map. A [bpchkpro_groupmashupMap] shortcode drops a standalone group map onto any page.
Site owners watching for cost
OpenStreetMap through Leaflet renders the maps and Nominatim handles geocoding with no API key and no billing. If you prefer Google, switch the provider and verify your key against four Google endpoints from the settings screen.
See it in action
How BuddyPress Check-ins Pro looks on your site.
Switch between the three surfaces in the preview: the directory mashup map, the activity location picker, and the admin settings.
Find nearby
Search members and groups by address and radius.
A proximity search replaces or supplements the default search box on both the members and groups directories. A visitor types any address and a distance, in miles or kilometres, and the directory filters to the members or groups inside that radius. A Nearby tab on the members directory swaps the typed address for the visitor's own browser location, and both the radius options and the distance unit are set in the admin.
- Address and radius search on the members directory and the groups directory
- Distance unit and radius options are admin-configurable, miles or kilometres
- A Nearby tab uses the visitor's browser location instead of a typed address
- Stored coordinates stay full so proximity stays accurate even with obfuscation on
Privacy
Show the area without giving away the address.
You decide how much address detail other members see: full address, city and state, or city only, applied to profile display and directory listings. Switch on coordinate obfuscation and every public map pin and check-in link uses a coarsened lat/lng with a deterministic per-check-in offset that scales with the privacy level. The raw coordinates in the database are left untouched, so proximity search and the Nearby tab keep returning accurate results.
- Three address detail levels: full address, city and state, or city only
- Coordinate obfuscation offsets public pins from about 110 m to about 11 km
- Per-check-in deterministic offset, so a pin does not jump around between loads
- Raw coordinates stay in the database so proximity search is unaffected
Works with
BuddyBoss, Youzify, and two map providers.
The plugin runs on standard BuddyPress and on BuddyBoss Platform, adapts to Youzify when present, and renders maps with either Google Maps or keyless OpenStreetMap. These are the platforms and providers it works with out of the box.
- BuddyPress
The core requirement. Check-ins use the Activity component, the directory map and proximity search use Members, and group locations use Groups. Member coordinates are stored in user meta and group locations in group meta, with no custom tables.
- BuddyBoss Platform
Runs alongside standard BuddyPress on BuddyBoss Platform, so the directory maps, check-ins, and group locations work the same way on a BuddyBoss community.
- Youzify
When Youzify is active the activity location picker moves to its compatible hook so it sits correctly in the composer. The members directory Nearby tab is not shown under Youzify.
when Youzify is active - Google Maps
Renders maps and geocodes addresses through the Google Geocoding API when you supply an API key. An admin AJAX verify button tests the key against the Geocoding, Places, Distance Matrix, and Directions endpoints.
requires a Google Maps API key - OpenStreetMap (Leaflet + Nominatim)
Renders maps through Leaflet and geocodes through Nominatim with no API key and no billing account. This is the default provider pair when the plugin is first activated.
no API key required
What you get
Location check-ins, directory maps, and proximity search.
Every license is the complete plugin. Members check in from the activity form, set a location on their profile, and show up on the members and groups directory maps. Proximity search, the Nearby tab, group location fields, privacy controls, two shortcodes, and the choice between Google Maps and keyless OpenStreetMap all ship in the box. The only difference between tiers is how many sites the license covers.
Check in from the activity post form
A location picker is injected into the BuddyPress activity post form so members attach a place or GPS coordinates to any status update. The place name, latitude, and longitude are saved as activity meta under bpchk_place_details, and an inline map renders below the check-in in the stream and in oEmbed contexts. When Youzify is active the picker moves to its compatible hook. Each member gets a Check-ins tab on their profile and can delete their own check-ins.
Member directory map and proximity search
A map renders above the members directory with a pin for every member who has a saved location, and clicking a pin opens an info window with the avatar, name, and address. A proximity search replaces or supplements the default search box with an address and radius form, in miles or kilometres, and a Nearby tab uses the visitor's browser location to list members within a configurable radius. Administrators can exclude individual members from the map pins while keeping them in the listing.
Group locations and group directory map
Each BuddyPress group gets a location tab where group admins enter the group's address as a single combined field or as separate street, city, state, postal, and country fields. Every located group appears as a pin on the groups directory map, and the groups directory gets its own address-and-radius proximity search. The group Check-ins tab label and slug are configurable, and specific groups can be excluded from the map pins.
Profile location fields, geocoded
Map one or more BuddyPress xProfile fields as a member's primary location, either a single combined address field or separate street, city, state, ZIP, and country fields. When the member saves their profile the address is geocoded and the coordinates are stored in user meta for the directory map and proximity search. Geocoding runs through the Google Geocoding API or through Nominatim, matching the map provider you chose.
Location privacy and coordinate obfuscation
Choose how much address detail other members see: full address, city and state, or city only. The privacy filter applies to profile display and directory listings while stored coordinates stay full for proximity search. Turn on coordinate obfuscation and every public map pin and check-in link uses a coarsened lat/lng with a deterministic per-check-in offset that scales with the privacy level, from about 110 metres up to about 11 kilometres. Raw coordinates in the database are never changed.
Map shortcodes, widgets, and expiring check-ins
Two shortcodes drop standalone maps onto any post or page: [bpchkpro_mashupMap] for members and [bpchkpro_groupmashupMap] for groups, each with limit, filter, size, and type attributes. A Members Near Me sidebar widget lists members near a given location and radius, and an admin dashboard widget reports how many members and groups have locations plus the top cities. An optional expiration window (1, 6, 12, or 24 hours) lets an hourly cron delete check-ins after they age out, or keep them forever.
Google Maps or keyless OpenStreetMap
Pick Google Maps, which needs an API key and a billing account, or OpenStreetMap rendered through Leaflet, which needs no key at all. The geocoder follows the same choice: Google Geocoding for Google, Nominatim for OpenStreetMap. An admin AJAX action verifies a Google Maps API key against four Google endpoints (Geocoding, Places, Distance Matrix, and Directions) and reports which are ready. The plugin defaults to the keyless OpenStreetMap and Nominatim pair out of the box.
Made for
Six audiences. One product.
Pricing
Same complete plugin on every tier. Pick how many sites you run.
Every tier ships the full feature set: activity check-ins, member and group directory maps, proximity search, the Nearby tab, group location fields, profile location fields, privacy and obfuscation controls, the two map shortcodes, and the choice between Google Maps and keyless OpenStreetMap. Tiers differ only by the number of sites your license covers. Yearly plans include a year of updates and support; lifetime plans pay once and keep updates forever.
Personal
$49 / year
or $149 lifetime
One community site.
- 1 site
- Activity check-ins and directory maps
- Proximity search and group locations
- Google Maps or keyless OpenStreetMap
- 1 year of updates + support
Professional
$99 / year
or $299 lifetime
Five sites. Freelancers and small agencies.
- 5 sites
- Activity check-ins and directory maps
- Proximity search and group locations
- Google Maps or keyless OpenStreetMap
- 1 year of updates + support
Agency
$129 / year
or $349 lifetime
Unlimited sites for agencies running many community builds.
- Unlimited sites
- Activity check-ins and directory maps
- Proximity search and group locations
- Google Maps or keyless OpenStreetMap
- 1 year of updates + support
Before you install
Questions community operators ask.
Answered by the team that maintains the plugin. Anything else, reach out through the contact page.
- 01
Does this require BuddyPress?
Yes. It runs on BuddyPress or BuddyBoss Platform and uses the Activity component for check-ins, the Members component for the directory map and proximity search, and the Groups component for group locations and the group directory map. It is a standalone Pro plugin, not an add-on to a free version.
- 02
Do I need a Google Maps API key?
No. The plugin ships with OpenStreetMap rendered through Leaflet and Nominatim for geocoding, which needs no API key and no billing account, and that is the default. If you prefer Google Maps, switch the provider on the Map tab, paste your key, and use the verify button to test it against the Google Geocoding, Places, Distance Matrix, and Directions endpoints.
- 03
Does it have a REST API?
No. The plugin does not register any REST API routes. All of its asynchronous work runs through WordPress admin-ajax, with five AJAX actions covering xProfile location save, API key verification, and the demo data generate and clear tools. New integrations follow the same admin-ajax pattern.
- 04
How do members add a location?
Two ways. They attach a place or GPS coordinates to any activity update from the location picker on the post form, which saves a check-in with an inline map. They also set a primary location on their profile through one or more mapped xProfile fields, which is geocoded on save and used for the directory map and proximity search.
- 05
How does proximity search work?
An address and radius form replaces or supplements the default search box on the members and groups directories. A visitor types any address and a distance, in miles or kilometres, and the directory filters to members or groups inside that radius. A Nearby tab on the members directory uses the visitor's own browser location instead of a typed address.
- 06
Can members hide their exact location?
Yes. You set how much address detail other members see: full address, city and state, or city only. You can also turn on coordinate obfuscation so public map pins use a coarsened lat/lng with a per-check-in offset that grows with the privacy level, from roughly 110 metres to roughly 11 kilometres. The full coordinates stay in the database so proximity search still works.
- 07
Can I keep some members or groups off the map?
Yes. Administrators select individual members or groups to exclude from the directory map pins through a multi-select in the Members and Groups settings. The excluded members and groups still appear in the directory listing itself; they just do not show as pins.
- 08
Can I put a map on a regular page?
Yes. The [bpchkpro_mashupMap] shortcode renders a standalone members map and [bpchkpro_groupmashupMap] renders a standalone groups map, each up to 500 entries by default. Member maps filter by WP role and BP member type, group maps filter by status and group type, and both accept width, height, and a CSS type attribute.
- 09
Do check-ins stay forever?
That is your choice. By default check-ins are permanent. If you set an expiration window of 1, 6, 12, or 24 hours on the General tab, an hourly WordPress cron deletes check-in activities once they pass their expiry time. Setting the window to never keeps every check-in in place.
- 10
What happens to the data if I uninstall?
Settings are stored as WordPress options, member coordinates live in user meta, group locations in group meta, and check-in details in BuddyPress activity meta. There are no custom database tables. Deactivating leaves all of this in place; for a full removal, delete the related options and meta after deactivation.
Put your community on the map.
Activate the plugin, pick Google Maps or keyless OpenStreetMap on the Map tab, and map an xProfile field to a member's location. The members directory map fills in as people save addresses, members start checking in from the activity form, and you turn on proximity search, the Nearby tab, group locations, and privacy controls from the settings tabs whenever you are ready.