Forget Nigeria, forget the map, forget Blynk. The first thing you need from this sketch and almost every sketch you will create for the next 12 months is get accurate data from Serial Monitor.
What does SM show for this sketch:
// GPS.ino https://community.blynk.cc/t/arduino-or-nodemcu-gps-tracking-system-on-map-widget/15739/33
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
static const int RXPin = 12, TXPin = 13;
static const uint32_t GPSBaud = 9600;
unsigned int move_index;
TinyGPSPlus gps;
BlynkTimer timer;
SoftwareSerial ss(RXPin, TXPin);
char auth[] = "4bb191e6da5a438bb071ecca688732f3";
char ssid[] = "MikroTik Home";
char pass[] = "";
char server[] = "192.168.1.104";
WidgetMap myMap(V5);
void setup()
{
Serial.begin(115200); // Debug console
Serial.println();
ss.begin(GPSBaud);
Blynk.begin(auth, ssid, pass, server);
timer.setInterval(5000L, getCoordinates); // 5s not 1s intervals
}
void getCoordinates()
{
Blynk.virtualWrite(V6, millis() / 1000);
move_index++;
//float latitude = (gps.location.lat(), 6);
//float longitude = (gps.location.lng(), 6);
//Serial.println(latitude, 6);
//Serial.println(longitude, 6);
//Blynk.virtualWrite(V7, latitude);
//Blynk.virtualWrite(V8, longitude);
//myMap.location(move_index, latitude, longitude, "Iran");
Serial.print("LAT: ");
Serial.println(gps.location.lat(), 6);
Serial.print("LONG: ");
Serial.println(gps.location.lng(), 6);
}
void loop()
{
Blynk.run();
timer.run();
}