Maple Maps
EN FR

News · September 14, 2026 · By Mathieu

Three roads, and the closure the map could see but I could not

A trip to Costco gave me one route, a nineteen-kilometre loop, when I knew a shorter road. Chasing that one screen turned into a rule for how many routes you get, how different they have to be, and why a long drive is judged differently from a short one.

On Saturday evening I asked the app for directions to the Costco in St. Albert, a trip I make often enough to know every way there. It gave me one route: north to Highway 37, east, then south again. Nineteen kilometres for a place that is thirteen away. No second option, no third. Just the loop.

The app was not wrong, exactly. It knew something I did not: Giroux Road, the direct way in, is closed for three hundred metres west of Ray Gibbon Drive, and Villeneuve Road is closed between Hogan Road and St. Albert Trail. The city publishes both. So does the traffic provider. The app had read them, drawn a fence round each, and found the only road that touched neither fence. It was being careful. It was also useless, because I could see the detour from my driveway, and the app could not.

This is a story about that screen, and about what I changed because of it. I am writing it up because it is the clearest example I have of how this beta works: one person, one trip, one screenshot, and the app gets better for everyone.

What a closure looks like to a map

A closure arrives as a line: from this cross street to that one, shut. The app takes the line and builds a small box round it that the router is told never to enter. Simple enough, and it stops the app from sending you down a road that is dug up.

The trouble was where the box sat. The app drew it around the point where your route first touched the closure. But closures start and end at junctions, and the junction where a closure begins is very often the junction the detour turns at. The box, meant to keep you off the closed road, was sitting on top of the turn that gets you round it. Every road into St. Albert from my side was fenced off, and the loop was all that was left.

There were three more mistakes of the same family, and I only found them by running the trip through the app over and over on my own machine and reading what it said to itself each time. A construction project the city had pinned near the roundabout was being matched to any route that used the road it was named after, even two kilometres later. The same closure, reported by both the city and the traffic provider, was getting two boxes. And a route that merely turned at the end of a closed road, without driving on it, was being treated as if it had driven straight through.

Each of those is fixed now. The box sits on the closed stretch itself and stops short of its ends, so the junctions stay open. A pinned closure matches the road beside it, not a road two kilometres on. One closure gets one box. Turning at a junction is not driving through the closure. None of that is specific to St. Albert; it applies to every closure line the app reads, in every city and province it reads them from.

How many routes, and how different

Fixing the fences brought the direct road back. But it also raised a question I had been avoiding: how many routes should the app show, and what makes a second route worth showing?

The old answer was cautious. A second route had to be within a quarter of the first one's time, and it had to differ enough not to be the same road with one detour. That sounds reasonable until you are the driver who knows a road the app does not, or who knows that a closure the feeds are still reporting was lifted yesterday. Then the only thing that helps is a genuinely different road on the sheet, even if it is slower on paper, so you can pick it.

So the rule is now the one I would have written as a driver. The first route is the fastest. The second is the fastest route that shares little of its path with the first. The third is the fastest that shares little with either. Three roads that are really three, so that whichever one of them is wrong about your day, another is there. On a short trip that costs almost nothing; on a fifteen-minute drive across town you now typically see three roads where you used to see one or two.

Long drives are a different question

Then I ran the same rules on sixty trips across the country, from two-kilometre hops downtown to Edmonton–Vancouver, and watched what came back. Short trips were fine: there is rarely a second sensible way to drive two kilometres, and the app already knew not to offer one. City trips were good. Long trips were a mess.

On a long drive the whole question changes. Edmonton to Calgary is one highway; every alternative shares most of it and differs for forty kilometres somewhere in the middle. Judged by how much path two routes share, those alternatives all looked like copies and were thrown away. Meanwhile the time rule, tuned for city trips, was letting through roads that were an hour and a half slower on a three-hour drive, because they happened to be different enough.

Long drives are now judged the way a driver judges them: by how many kilometres a road differs, not what fraction, and with slack for time that grows with the trip. A road that is forty minutes slower on a drive to Calgary is a choice. A road that is an hour and a half slower on a drive to Vancouver is a choice too, on a twelve-hour day, and Apple and Google offer exactly that. A road that is an hour and a half slower on the way to Calgary is not, and no longer appears.

One more thing came out of that test, and it was mine to own. The two longest trips took ten to fifteen seconds to answer. Not because the routing was slow; the router answers Edmonton to Vancouver in under a second. It was the app matching every closure in the country against every metre of an eleven-hundred-kilometre road, several times per request. That is fixed, and those two trips answer in a second and a half now, with two roads instead of one.

What this means for you

If you have ever been given one route where you expected three, or a route that went the long way round something you know is open, that was probably this. It is different now, and you do not need a new build for any of it; the routing runs on our server, and every build in the field got the change the moment it went live.

What I would ask in return is the thing that started all this: a screenshot. When the app is wrong about a road you know, send me the screen. One tester's trip to Costco changed how routes work for everyone, and I have no better source than that.

← All news