We’re currently working with the ESRI map widget in Netcall and are exploring options for using Ordnance Survey (PSMA) mapping services instead of ESRI basemaps.
At the moment, it looks like the standard widget is designed to work with ESRI basemaps out of the box, and using OS services (e.g. WMTS or vector tiles) requires some level of customisation.
I wanted to ask:
-
Are any other councils successfully using Ordnance Survey / PSMA mapping (WMTS or vector tiles) within the Netcall ESRI widget?
-
If so, are you using the standard widget configuration, or have you implemented custom development?
-
Are there any recommended approaches or patterns for integrating OS mapping with Netcall?
Any guidance or examples would be really appreciated.
Thanks in advance!
You will most likely need to create something custom for your use case.
We had to build a custom widget using OS Maps API for loading up the map tiles.
We used leaflet.js for the actual frontend mapping engine, which was calling a backend service to fetch the map tiles from the OS Maps API.
Thanks, that’s really helpful - and good to know it’s not just us hitting this limitation.
Out of interest, did you run into any challenges using Leaflet alongside Netcall, and was there a reason you handled the OS API via a backend service?
We’re currently deciding whether to go down a similar custom route or stick with ESRI, so this is really useful context.
Thanks again!
1 Like
No, didn’t encounter any challenges with Leaflet mapping engine.
Not sure how familiar you are with Code studio, but when I said via a backend service, what I really meant was that the custom widget was making calls to it’s own backend server side action and that then made an API call to OS API. This was done so that the OS API credentials weren’t being exposed in the frontend when fetching map tiles.
Thanks, that makes sense - really helpful explanation.
That sounds very similar to how we’re using an Azure Function for other map integrations, so good to know the same pattern works within Netcall using server-side actions.
Appreciate the clarification!