Tuesday, January 5, 2016

Add your local joint to the map

Add your local joint to the map

The last couple of weeks I've been busy implementing support for adding locations (POIs) to OpenStreetMap using GNOME Maps.

A new menu item for adding a location is added to the context menu, clicking it would show the account dialog if you havent already signed in, just as when editing an already existing location.

Otherwise (or after a successful log-in), the editing dialog on a new empty object will be shown:

By clicking the ”Type“ button, it is possible to choose the location´s type:

By starting to typing, suggestions for types will be shown.
It is currently a very limited set of object types that are supported. We will still want to keep it to a fixed set (rather than being able to edit the “raw” OSM tags) as we want to get localization support.


One thing that isn't currently yet implemented from the mockups is the recent types list, where recently used types should be available to choose from.

Another thing that I have been considering is allowing to edit the type of existing objects.
As the type concent that I have implemented here is a quite simplified variation of OSM´s free-form tag format, I had been a reluctant to this, but it might be feasable to allow it in case the object has just one of the various standard tags (amenity, shop, leisure, and so on) that we would base our type concept on set, and if that tag has a value that we have in our list (and thus can potentially show in a translated form, and even for the English or non-covered translation-case, not show lower-case-with-underscores form).

That was that for this time!

And 3.20 is starting to be visible on the horizon!


  1. I think you should make it clear from the beginning that people are editing the public map, not a personal one.

    OSM sometimes has problems with people who seem to think they're editing their own copy.

    Regarding localization - you can probably import the one from OSM/iD directly with a script, can't you?

    1. There's an infomation text in the last step of the upload (when entering the change comment) as you can see in the last screenshot!
      Not sure how easy/feasible pulling descriptions/translations from iD would be, as our representation will be a bit more simplified, combining several tags into a "conglomerate" type "concept".

  2. Great work as usual, Markus! I had a similar comment to Ole here: the translation should really be coming from OSM IMO but I understand practical compromises so it's fine if you think it is as long as we can be sure that source tags in OSM won't change over time.

    Oh and BTW, your blog talks to me in Swedish. :)

    1. Thanks, zeenix!
      Oh, I guess that is some blogspot setting I had set (I thought that would not affect all viewers).

  3. Oh and sorry for mistyping your name, Marcus. I know many Markus :)

  4. How is this data going to be submitted? Will people be authenticating to OSM as themselves, via OAuth? or do you plan to submit it all through one shared account?

    Also, how to you plan to avoid duplication of POIs? Will you be fetching existing data in the area, or will people only be able to see the POIs that happen to be included in the rendered map tiles?

    1. You will sign-in using your credentials, and get an OAuth token authorized on OSM for using GNOME Maps.
      This token can then be revoked from the website as usual.
      Currently, selecting POIs can really only be done using either search, or by using the “What's here?“ menu item.
      Further down, we would hopefully get support for locally rendered vector-based tiles. I think with this we could get a proper POI layer where you can directly manipulate objects (and perform operations on them). With this it could i.e. be possible to show all restaurants in the current view.
      But I think the risk of GNOME Maps users being the result of lots of duplicates using the add functionallity should hopefully be fairly low.