It gives one set of values…
“It” what? What values? What connections? Have you read this?
Did you read the NeoGPS Troubleshooting section?
Serial is just the Arduino-to-PC connection, not the GPS-to-Arduino connection. Your GPS should not be connected to pins 0 & 1. Pins 8 & 9 would be best, so you can use AltSoftSerial: GPS TX to UNO 8, and GPS RX to UNO 9. A simple echo program would copy the data from 8/9 to Serial (0/1) so you can see it on the Serial Monitor Window:
Serial.begin( 9600 );
gps_port.begin( 9600 );
Serial.write( gps_port.read() );
This just shows the raw GPS characters, things like
To extract location or speed fields, you can learn how to parse those strings, or you can use a GPS library. That what NeoGPS is good for: parsing those strings into variables you can use. If you want to try the NeoGPS example NMEA.ino, you would change these lines, near the top:
#if defined( UBRR1H )
// Default is to use Serial1 when available. You could also
// use NeoHWSerial, especially if you want to handle GPS characters
// in an Interrupt Service Routine.
// Only one serial port is available, uncomment one of the following:
#include <AltSoftSerial.h> <---- uncomment this line
//#include <SoftwareSerial.h> /* NOT RECOMMENDED */
Make sure all the serial include statements are commented out, as above. NMEAloc.ino is another simple example.