Hello @Andres F,
welcome to this moderated Azure community forum.
It seems it’s only the LTE/4g version that has the GPS. Are you sure your device has a GPS?
If so, the GeoCoordinateWatcher is only available for .Net Framework 4.8.1 so you have a challenge when using .Net Core.
As an alternative can you check if your GPS is available as a COM port within your Surface?
In that case, check out the serial port library (eg. in .Net 8).
GPS devices normally output a stream of ASCII messages in the NMEA format.
Check out this blog post with some background information (like checking the NMEA message stream).
From there, check out this NuGet package containing a parser for the most popular NMEA messages, based on this GitHub repo.
This is a little side-step but it gives you more control over the GPS information, depending on the availability of the COM port support.
Update: there is a port for .Net Core available as open source: https://github.com/dotMorten/System.Device Can you confirm this works for you?
If the response helped, do "Accept Answer". If it doesn't work, please let us know the progress. All community members with similar issues will benefit by doing so. Your contribution is highly appreciated.