On my little sailboat I use a China 12 Volt "avto" wi-fi router with GPRS
modem and usb and SD-card slots and usb GNSS reciever. It works under
OpenWRT with gpsd, nginx, php, etc.
I use a self-made php-based simple tile cache/proxy for maps with self-made
web interface. It use gpsd for positioning.
Also, I use OruxMaps on my China rugged tablet with this tile cache as map
source. It use own gps for positioning.