Saturday, July 1, 2023

Summer Maps

 It's about time for the yearly (Northern Hemisphere) Summer Maps blog post. 😎



Since the release of 44.0 in March, aside from some fixes (like adding support for authentication HTTP headers in OpenTripPlanner plugin, as now needed by the Finnish Digitransit service) there has also been some changes on the surface in Maps.

First, Jakub Steiner has contributed with a refresh of icons used for transportation modes, and the various mode of public transit.

Here we can see the icons for transportation modes (walking, biking, car, and public transit, using a „train icon“) using the new GNOME icon style

In this capture we can see the new icons for metro (underground, subway service)


Above there is some samples from Portland, showing trams and gondolas.


Another new feature is the „Explore nearby points-of-interest“ browser mode of the main search entry, allowing the select preset categories grouped by main and sub categories. Clicking on a subcategory then proceeds with a search given the selected type of place centered around the center of the current map view sorted by, and showing the distance to the place („as the crow flies distance“):

Clicking the down-arrow button, or using the new CTRL+SHIFT+F shortcut shows the main categories

After selecting a sub category

Showing points-of-interest results with distances

Results nearby (less than 100 m, or 300 feet when using Imperial measures) are shown with a „less than“ indication as these can be somewhat imprecise, especially for things with a “two-dimensional extent“ such as larger buildings, or areas

 

This feature was something I had in mind for a while, and there has been an old issue about this floating around since the Bugzilla days (before the migration to GitLab, it was issue #3 after the migration
).

I remember envisioning the outlines of this during a walk one afternoon/evening early in winter of 2021 during the mandated „working from home“ days when we had step contest at work. But I had put the idea off before in anticipation of the GTK 4 port as I din't want introduce too much new UI needing porting before that). But now that that has been finished it was time


 Behind the scenes this is using the Overpass API to search the OpenStreetMap database based on tags and centered around a specific coordinate.

And by the way, the set of categories is defined in JSON-like object structure in the src/potCategories.js module, so this can be altered relatively easy (and add Overpass query parameter „fragments“.


The next thing, the routing sidebar has had some issues when using a small form-factor device (e.g. phones), now there is WIP in an MR to migrate the sidebar to use an OverlaySplitView from libadwaita.


This allows swiping in from the edge to bring up the routing sidebar and „swipe away“ the sidebar to close it on touch screens.

It also „collapses“ the view so the sidebar is overlayed on the map view rather than „pushing it aside“ on narrower screens:


This is still not finally merged to main, but hopefully this should make it in for 45.0.


Another thing is that since migration to libshumate it is possible to rotate the map view using touch gestures. And as we didn't have a way to reset the rotation (beside restarting the application) to mitigate that I have added a compass button showing when the view rotated away from normal „north is up”.

 

Also the zoom buttons have been moved back to be overlay buttons as they where back in the day. They where changed to headerbar button back in 2017 as a work-around for GTK widgets not being able to be overlayed on top of Clutter surfaces on Wayland. But this is no longer an issue as we don't use Clutter nowadays.

This overlay button design might be subject for a redesign later on. Possible moving them down to the bottom end (right in LTR) corner, similar to the zoom controls of the new Loupe image viewer app. The license banner would then be displayed on startup as toast maybe, or as popover when clicking an info button. Or something like that.

And last, but not least we had a contribution from Szymon KƂos who implemented support loading tracks recorded by Garmin sport watches as shape layers. Thanks Szymon!

I will also attend GUADEC in Riga later in July, so those who go there, maybe see you there!

And I think that's about it for this time!