Overview
A Wayfinding URL is a special link that opens a Concept3D interactive map with pre-filled walking (or driving) directions between two points. This guide helps both non-technical users and developers understand how to use and build these URLs.
You can generate a Wayfinding URL directly from the Concept3D Map Interface:
- Use the directions tool to select a start and end location on the map.
- After the route is displayed, click the Share button in the directions sidebar.
- This copies a complete Wayfinding URL that you can paste into emails, webpages, or social media.
This method is ideal for non-technical users who want to generate working links without editing URL parameters manually.
When the start or destination is a location on your map, the copied link names it by its Instance ID instead of its coordinates, so the link keeps working if the location's pin moves. Links copied before this update still work.
Not a developer? See Directions Links: Share a Route on Your Map for a simpler walkthrough.
What Can I Do With This?
You can use Wayfinding URLs to:
- Share directions from one place to another (e.g., Parking Lot to Science Building)
- Embed route links in emails, websites, or signage (via QR codes)
- Preload routes in a custom app or platform
These links are great for events, campus tours, visitor navigation, and more.
Real-Life Use Cases
- Admissions team: Link from a tour registration email to a pre-routed walk from parking to the check-in desk.
- Facilities: Post a QR code on construction detours to show a safe walking path.
- Marketing: Embed a map route in an event page for easier visitor wayfinding.
How to Dynamically Generate the Wayfinding URL
Before You Start (Prerequisites)
To use Wayfinding URLs, make sure the following conditions are met:
- A valid Map ID (ask your admin or support team)
- Directions enabled on the map (Concept3D Wayfinding and/or third-party)
Note: If you're not sure which type of directions your map supports, check with your Partner Success Manager or support team.
URL Example
https://map.concept3d.com/?id=1216#?d/type:walking;ada:false;from:42.816600,-75.545119,0;to:42.819458,-75.536093,0;startName:Start%20Location;endName:End%20Location
This link opens the internal demo map with directions from "Start Location" to "End Location."
URL Structure Breakdown
https://map.concept3d.com/?id={MapID}#?d/type:{Mode};ada:{true|false};from:{Lat},{Lng},{Level};to:{Lat},{Lng},{Level};startName:{Text};endName:{Text};parking:{Lat},{Lng},{Level}| Part | Description |
|---|---|
| id | The Map ID for the specific client map (e.g., 1216) |
| ?d/ or #!d/ | Required to load the directions (turn-by-turn) sidebar. May be used alone to load the panel without prefilled data. |
| type | (Optional) Travel mode: walking or driving. Defaults to walking. |
| ada | (Optional) Use true for accessible routing, or false for standard. Defaults to false. |
| from | Start point coordinates: {latitude},{longitude},{floor level} |
| to | End point coordinates in the same format |
| fromMrkiId | (Optional) Instance ID of the start location. Use instead of from. |
| toMrkiId | (Optional) Instance ID of the destination. Use instead of to. |
| fromRef | (Optional) Reference ID of the start location, URL-encoded. Use instead of from. |
| toRef | (Optional) Reference ID of the destination, URL-encoded. Use instead of to. |
| startName | (Optional) Display name for the start point (URL-encoded text) |
| endName | (Optional) Display name for the destination (URL-encoded text) |
| parking | (Optional, for driving only) A designated parking point formatted as {latitude},{longitude},{floor level}. Helps optimize arrival experience. |
Note: All key-value pairs following ?d/ must be separated by semicolons (;).
Minimal URL Examples
// Load empty directions sidebar: https://map.concept3d.com/?id=1222#!s/?d/ // Load sidebar with destination only: https://map.concept3d.com/?id=1222#!s/?d/to:33.241,-87.23523,1 // Load full walking route with accessibility off: https://map.concept3d.com/?id=1222#!s/?d/type:walking;ada:false;from:33.2192,-87.5434,0;to:33.2093,-87.5428,0 // Full driving route with parking point: https://map.concept3d.com/?id=1120#!s/?d/type:driving;ada:false;from:39.661175,-104.742860,0;to:39.740623,-105.006210,0;parking:39.740619,-105.006195,0;startName:My%20Location;endName:Josh%20Library?share
Link to a Location by ID Instead of Coordinates
You can name the start or destination by a location's Instance ID or Reference ID instead of its latitude, longitude, and level. The map looks up the location's current position and floor when the link opens, so you don't need coordinates or level numbers, and the link keeps working if the pin moves. You can mix formats, such as coordinates for the start and a Reference ID for the destination.
Where to find the IDs
| ID | Where to find it |
|---|---|
| Instance ID | In the Location Editor, under Admin & editing tools, copy Instance ID. It appears once the location is published. If the location has unpublished edits, publish first or use Location Manager. In Location Manager, you can also open Columns and turn on Marker Instance ID. |
| Reference ID | The Reference field in the Location Editor, or the Reference ID column in Location Manager. |
Note: The ID field just above Instance ID is a different number, and links don't work with it.
Examples
// Walking route between two locations by Instance ID https://map.concept3d.com/?id=1216#?d/type:walking;ada:false;fromMrkiId:12345;toMrkiId:67890 // Accessible route to a location by Reference ID https://map.concept3d.com/?id=1216#?d/type:walking;ada:true;fromMrkiId:12345;toRef:SCI-101 // From a parking spot's coordinates to a Reference ID that contains a space https://map.concept3d.com/?id=1216#?d/type:walking;ada:false;from:42.816600,-75.545119,0;toRef:Science%20Hall
Good to know
- No level needed: The route uses the location's floor.
-
Names are optional: If you leave out
startNameorendName, the directions show the location's name. -
Coordinates win: If a link has both
from:andfromMrkiIdorfromRef, the coordinates are used. If it has bothfromMrkiIdandfromRef, the Instance ID is used. - Reference IDs must be unique: A Reference ID that more than one location on the map uses won't work. Matching ignores letter case but must match the whole value.
- Visible, published locations only: The location must be published on this map, and visitors must be able to see it. Locations in a private category don't resolve for visitors without access.
- If a location isn't found: Visitors see "We couldn't find the starting point from this link. Choose a starting point." (or the same message for the ending point) and can pick a location themselves.
Notes on Levels
Interiors, also know as “levels” are map-dependent, and the correct value depends on how the map was set up in the CMS. Here are some key things to know:
- Level 0 is generally used for exterior ground.
- Interior buildings typically start at Level 1, but this is not always consistent.
- You may see jumps like Level 0 → Level 3 if:
- The entrance to a building is located on an upper floor
- The map's floor setup is customized
- There's a unique entrance configuration (e.g., hillside, skybridge)
Developer Tip: Always verify level values in the CMS or with your Concept3D rep, especially when working with interior destinations.
Developer Example – Generate a Wayfinding URL in JavaScript
You can programmatically create wayfinding URLs using the structure shown above. Here’s a basic JavaScript example:
const mapId = "1216"; // Replace with your actual Map ID
const from = {
lat: 42.816600,
lng: -75.545119,
level: 0,
name: "Start Location"
};
const to = {
lat: 42.819458,
lng: -75.536093,
level: 0,
name: "End Location"
};
const travelMode = "walking";
const ada = false;
const url = `https://map.concept3d.com/?id=${mapId}#?d/type:${travelMode};ada:${ada};` +
`from:${from.lat},${from.lng},${from.level};` +
`to:${to.lat},${to.lng},${to.level};` +
`startName:${encodeURIComponent(from.name)};` +
`endName:${encodeURIComponent(to.name)}`;
console.log(url);This is especially useful if you’re integrating wayfinding into a custom web app or mobile app.
To link by location instead of coordinates, swap in the ID keys:
const url = `https://map.concept3d.com/?id=${mapId}#?d/type:walking;ada:false;` +
`fromMrkiId:${startInstanceId};` +
`toRef:${encodeURIComponent(destinationRef)}`;
Request a Route From the Wayfinding API
If you use the Concept3D API, the wayfinding endpoint accepts the same location IDs. The API is private. See Interactive Map API FAQs for how to get access.
https://api.concept3d.com/wayfinding/v2?map=1216&key={APIKey}&fromMrkiId=12345&toRef=SCI-101&mode=walking-
Parameters: Use
fromMrkiId/toMrkiId(Instance ID) orfromRef/toRef(Reference ID, URL-encoded) instead offromLat/fromLngorfromAddress. Addada=truefor accessible routes. -
No levels needed:
fromLevel,toLevel, andcurrentLevelaren't required for a point that uses an ID. - Order used for each point: Coordinates first, then Instance ID, then Reference ID, then address.
-
Response: Includes
endpoints, which shows how each point was resolved: source, ID, name, coordinates, and level. -
If an ID doesn't resolve: No route is calculated. The response has
status: "failed"andcode: 9but still returns HTTP 200, so checkstatus, not only the HTTP code.
For full API documentation, contact your Partner Success Manager.
Frequently Asked Questions
| Question | Answer |
|---|---|
| Why is my route not returning results or showing up on the map? |
This can happen for a few reasons depending on your setup: If you're using Concept3D Wayfinding:
If you're using third-party driving directions:
If in doubt, try generating directions directly from the live map interface to see if results appear. |
| Why are my levels not matching? | Level numbers depend on the building and how it was configured in the CMS. Contact support if you're unsure. |
| Can I create a shareable route with ADA routes? | Yes! Set ada:true in the URL. Just make sure accessible paths are configured in your network. |
| Why does my link say it couldn't find the starting or ending point? | Check that you used the Instance ID, not the Location Editor's ID, or the exact Reference ID. Also check that the location is published on this map, that no other location shares the Reference ID, and that visitors can see the location. |
| Should I use an Instance ID or a Reference ID? | Use a Reference ID when your own system already has building or room codes, such as a class schedule or room booking. Set each location's Reference to match. Use an Instance ID when you copy links from the map or the CMS. |
Still Need Help?
Reach out to support@concept3d.com.