Keep track of the last read record in MySQL
6 decimal places for lat/lng give a precision of 16cm (1/2 ft).  I would expect the GPS to fluctuate more than that.  In other words, should you really watch the lat/lng at that resolution, or maybe round to 3 decimal places?  That would give you 160m (520 ft) resolution, more like what the weather tracking is capable of.

Back to your question.

It is somewhat messy to fetch the "latest", especially if you want the "latest for each vehicle.  So, instead, I suggest keeping another table of the "Current" location.  (What you have is the "History" of the location.)

Do you need a history of the weather?  Or is the latest all you need?

Caution:  If you have thousands of vehicles and you are collecting lots of data every 10 minutes, you will rapidly fill up the disk.  So try to minimize the size of the datatypes in use.  Also, consider tossing data when a vehicle is 'idle'; this will cut in half the disk requirements?

More on lat/lng representation sizes versus representations:  http://mysql.rjweb.org/doc.php/latlng#representation_choices