You can mark highways with certain color using Map Styles like in this answer and than check color of user position like in that answer. Specifically you can create request for just one pixel map (size=1x1) for your Lat/Lon coords with hidden all features except water and set water color to e.g. pure red (0xFF0000). Something like that:
https://maps.googleapis.com/maps/api/staticmap?¢er={YOUR_LAT},{YOUR_LON}&zoom={YOUR_ZOOM}&size=1x1&style=feature:all|visibility:off&style=feature:highways|visibility:on&style=feature:highways|color:0xFF0000&key={YOUR_API_KEY}
Then download it and check the color. If it pure red (0xFF0000) user is on highway, if not - out of it. You need this check time to time to get exactly moment of highway enter/exit.