Mashup Map Shortcode
Introduction
The [nfgeo_mashup_map] shortcode displays saved Geocoder locations from one or more Ninja Forms on a single map.
Available in: Pro and Agency.
The map requires Maps JavaScript API on the Browser API Key and submissions containing valid saved Geocoder coordinates.

Requirements and Data Source
- Supply
form_idorform_ids. If both are present,form_idstakes precedence. - Each selected form needs at least one Geocoder Field with saved latitude and longitude values.
- Use
geocoder_keysto include only specific Geocoder Fields. Without it, all Geocoder Fields in the selected forms are eligible. - The page containing the shortcode must be allowed to load the configured Browser API Key.
Setting Up and Using the Mashup Map
Display all eligible locations from one form
[nfgeo_mashup_map form_id="7"]Combine more than one form
[nfgeo_mashup_map form_ids="7,9"]Display selected submission sequence numbers
[nfgeo_mashup_map form_id="7" submission_ids="25,26" submission_id_type="seq"]Limit Geocoder Fields and map output
[nfgeo_mashup_map form_id="7" geocoder_keys="customer_location,service_location" max_submissions="300" max_locations="100" map_height="500px" zoom_level="10"]Use the public field keys shown in the Ninja Forms builder for geocoder_keys. When combining forms, use keys that exist in the applicable form.
Shortcode Attributes
Forms and Submissions
| Attribute | Default | Description |
|---|---|---|
form_id | 0 | One Ninja Form to scan. |
form_ids | Empty | Comma-separated form references. Takes precedence over form_id. |
submission_ids | Empty | Comma-separated submissions to include. When empty, eligible submissions are scanned up to the configured limit. |
exclude_submission_ids | Empty | Comma-separated submissions to exclude. |
submission_id_type | seq | How include/exclude references are interpreted: seq, post, or auto. |
geocoder_keys | Empty | Comma-separated public Geocoder field keys. Empty includes every Geocoder Field in the selected forms. |
info_window_fields | formatted_address | Comma-separated field keys or location values displayed in each marker information window. |
Scan and Location Limits
| Attribute | Effective default | Description |
|---|---|---|
max_submissions | 500 | Maximum number of submissions scanned across the selected form loop. |
max_locations | 200 | Maximum number of valid locations rendered as markers. |
These are independent limits. Submissions are processed newest-first within each selected form, but a scanned submission may contain no valid Geocoder value or several eligible values. The final marker count can therefore be lower than either limit, or reach max_locations before every scanned submission contributes a marker.
Map Display
| Attribute | Default | Description |
|---|---|---|
element_id | Auto-generated | Optional unique map element ID. |
map_height | 400px | Map height, including a valid CSS unit. |
map_width | 100% | Map width, including a valid CSS unit. |
map_type | ROADMAP | Initial map type: ROADMAP, SATELLITE, HYBRID, or TERRAIN. |
zoom_level | 12 | Initial zoom before the rendered locations are fitted. |
marker_clusterer | true | Groups nearby markers into clusters. |
gesture_handling | auto | Google Maps gesture behavior, such as auto, cooperative, greedy, or none. |
location_marker_url | Empty | Optional default marker icon URL. A marker configured on the source Geocoder can also be used. |
Submission References and Repeater Values
seqtreats values as the sequence numbers shown in the Ninja Forms Submissions screen. This is the default.posttreats values as internal WordPressnf_subpost IDs and verifies that they belong to the selected form.autotries an internal post ID first, then falls back to a sequence number.- Include and exclude references are resolved separately for each selected form.
- If an include list is supplied but none of its references resolve for a form, the shortcode does not fall back to all submissions from that form.
- Geocoder Fields inside Ninja Forms repeaters are supported. Every valid repeater-row location can become its own marker, subject to
max_locations.
Marker Icons and Compatibility
For a single custom icon on a new shortcode, use location_marker_url. Existing shortcodes can continue to use the compatibility attribute map_markers for per-Geocoder mappings. Its format is field-reference|URL; separate field references that share one icon with semicolons, and separate mappings with commas. A bare URL supplies a default icon.
Version 3.5 also retains older aliases such as include_entries, exclude_entries, submissions_count, entries_count, results_count, group_markers, marker_cluster, scrollwheel_zoom, scroll_wheel, and map_markers for compatibility. Use the canonical attributes in the tables for new implementations.
Saved Value and Output
The shortcode does not save or modify submissions. It reads saved Geocoder values, normalizes valid coordinates, and renders the resulting markers and information windows on the current page.
Privacy
A mashup map can expose saved submission locations and selected information-window fields to anyone who can view the page. Do not display private customer, employee, or personal-address data on an unrestricted public page. Apply appropriate WordPress access controls and include only the fields needed by viewers.
Troubleshooting
No map appears
Confirm that the installed package is Pro or Agency, supply a valid form_id or form_ids, and verify that Maps JavaScript API and the Browser API Key's HTTP-referrer restrictions allow the page.
The map appears without markers
Confirm that selected submissions contain saved Geocoder latitude and longitude values. Also review geocoder_keys, include/exclude references, submission_id_type, and both limits.
Fewer markers appear than expected
The scan limit and marker limit are separate. Invalid or empty Geocoder values consume part of the scan without producing markers, while multiple Geocoders or repeater rows can produce several markers from one submission.
Submission references select the wrong records
Use submission_id_type="seq" for the numbers shown in Ninja Forms, post for internal nf_sub post IDs, or auto only when mixed interpretation is intentional.
An information-window value is missing
Use the exact Ninja Forms field key in info_window_fields and confirm that the selected submission saved a value for that field. formatted_address is supplied from the Geocoder location.