To give you a better understanding of this thing as a whole, with appropriate apologies if you already know this. You will want to fact-check this because most of it's from memory and I may be a bit inaccurate in places.
There's a couple of different things to consider before a co-ordinate has any meaning.
Firstly, you need to know the
datum. This is the geographic model of the earth and gives meaning to latitude and longitude. GPS uses WGS-84, which is an ellipsoid. Google maps uses a big sphere because it makes some math easier. Since you're in the UK, it's also worth mentioning the national grid is based on OSGB36 which is based on the Airy ellipsoid.
A given lat / long will be valid on any ellipsoid, but will specify a different point in space. Depending on where you are, these can actually be close enough that you may not notice you're using the wrong one. From your point of view, the ellipsoid only really affects some parameters in the math.
The second thing to consider is the
projection. This specifies how you map the 3D shape of the reference ellipsoid onto the 2D space that is the map. Both the OS and Google use transverse mercator. Vastly simplified, this will give you linear meters from a reference point and from those it's a piss easy conversion to pixels.
So, the biggest question is where did you get the big map source data from? Is it from the Ordnance Survey? If so, then it's going to be using OSGB36 projected using transverse mercator to the national grid. If it's from google maps or open street map, then it will be using a different datum but similar projection.
So, to locate the correct pixel you first get your lat/long, re-project it from WGS-84 to either OSGB or Google maps then you project that lat/long to meters, then you convert meters to pixels based on the resolution of your map. There are libraries to do this; PROJ4 is one but there are others.
GPS receivers will by default specify the location on WGS-84, but you might be able to tell it to use a different ellipsoid (check the datasheet). If you can then that will save you re-projecting from WGS-84 to whatever is appropriate for your map which will save you a fair bit of math.
Because the math is pretty heavy you will want to do as much as possible in pixel space. Generally this means you'd convert an incoming location to a pixel location and then do the rest using pixels. By which I mean, determining how much of and which part of the map to display. This reduces the problem to dealing with a large image.
Anyway, that's how to handle the geography
correctly. You may be able to take some shortcuts by not giving a shit about inaccuracies. It really depends on what you want out of it in the end.
This is pretty long and took long enough to write that I've lost track of my train of thought, so hopefully you found that helpful and I didn't miss anything
![Wink ;)](https://www.eevblog.com/forum/Smileys/default/wink.gif)