Właśnie z powodu takich tras jak Twoja, nie sposób przyjąć innego sposobu potraktowania punktu "przez" podane miasto, niż jego centrum. Wyznaczone mniej lub bardziej umownie, ale stałe, tam, gdzie jest czerwona kropeczka i napis z nazwą miasta na mapie.
Przyznasz, że jazda z Białego do Poznania przez Augustów jest kompletnie nieracjonalna, więc trudno żądać od programu logicznego algorytmu wyznaczania trasy. Tym bardziej, że sam nie podajesz programowi, o co właściwie chodzi z tym Augustowem, tylko podajesz jego nazwę. Dla programu Augustów "sam w sobie, jako taki", to punkt w jego centrum, bo obszar nie może być użyty jako via. Więc tak Cię też i prowadzi - przez centrum.
A gdybyś chciał jechać do Augustowa, nie wprowadzając konkretnego adresu, bo jeszcze tam nie byłeś, nie znasz miasta, a chciałeś je obejrzeć. To dokąd program miałby Cię zaprowadzić? Na obwodnicę? Którą? Augustów, to Augustów, czyli zwykle jego centrum, a nie obrzeża.
Tak to właśnie działa i bardzo dobrze, że tak.
Inna sprawa jest z wprowadzaniem punktu via po to, by skorygować trasę wyznaczoną przez program. Wtedy oznacza to, że znasz trasę lepszą (przez znany punkt lub punkty) niż program, albo musisz odwiedzić po drodze konkretny adres. Wtedy program Cię posłucha.
Ale jeśli nie wiesz którędy i wprowadzasz duże miasto jako via, to program musi założyć jakieś miejsce, jako punkt pośredni. Innego punktu "pewnego" nie zna w tym mieście, tylko ten centralny, z czerwoną kropeczką.