LearnNewsExamplesServices
Frontmatter
id6610
titlemain.addon.OpenStreetMaps
stateOpen
labels
enhancementno auto close
assigneestobiu
createdAtApr 1, 2025, 10:01 PM
updatedAtAug 3, 2025, 2:27 PM
githubUrlhttps://github.com/neomjs/neo/issues/6610
authortobiu
commentsCount2
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]

main.addon.OpenStreetMaps

Openenhancementno auto close
tobiu
tobiu commented on Apr 1, 2025, 10:01 PM
  • The first step is to verify that we can get a public key (or use it without a key)
  • We just need support for a basic map and markers

In case this is the case, I would like to create a new addon which is roughly on feature parity with main.addon.GoogleMaps.

tobiu added the enhancement label on Apr 1, 2025, 10:01 PM
tobiu added the no auto close label on Apr 1, 2025, 10:01 PM
tobiu assigned to @tobiu on Apr 1, 2025, 10:01 PM
tobiu cross-referenced by #6611 on Apr 1, 2025, 10:02 PM
TomDakan
TomDakan Aug 3, 2025, 7:21 AM

I think this can be done with the OpenLayers library. The markers would be created as a vector layer on top of a tile layer pulled from OpenStreetMaps as described in this example. It appears that there's no need for an api key to pull tiles from OSM.

I would be interested in working on this.

tobiu
tobiu Aug 3, 2025, 2:27 PM

@TomDakan You are very welcome to give it a try! I think this specific topic should be fun (a great learning experience), since it covers a wrapper component, a new main thread addon, RPC based cross-thread communication, and the potential for using the new intercept remotes pattern for addons (e.g. easily queue a request to create a map instance until the map lib is loaded).

It might even work to use LLMs (like Gemini CLI) here.

I did use MapboxGL (also based on top of OSM) for the Covid Apps. Feel free to explore existing addons and wrapper components first, and explore how they work (or feed an LLM with it).

One very strong recommendation when it comes to PRs: Keep them as small and targeted as possible. E.g. create sub tickets, like "create the addon base class file" => PR, accepted. Next sub: "add logic for adding markers" => PR.

Submitting a massive PR which would e.g. resolve 8 tickets, but introduce 2 new bugs might end up in a lot of reasoning back and forth to get to a merge-ready state. This could lead to frustration, which can easily get avoided with smaller PRs.

Feel free to ask questions on Slack / Discord, and I can give you more pointers.

Best regards, Tobias