dynamically showing google maps using gps receiver

Hello I Am doing my project on Beagle-board i have to show Google maps
extracting long,lat ,display time,speed with gps receiver dynamically
on Beagle-board using android or any other distribution please can any
one help me

Hi,

Hello I Am doing my project on Beagle-board i have to show Google maps
extracting long,lat ,display time,speed with gps receiver dynamically
on Beagle-board using android or any other distribution please can any
one help me

I have no experience with Google maps but with OpenStreetMap. You can
take a look at the following post I made at OpenStreetMap forum to
introduce my small demo program which is doing similar things you are
asking for: http://forum.openstreetmap.org/viewtopic.php?id=13256 . It
might help you to start.

HTH,
Andrey.

here’s some code that works on the arduino and takes nmea sentences as input then outputs various info including the url to display the present location in google maps. the comments and example code should get you going pretty quickly.

/*
6-8-10
Aaron Weiss
SparkFun Electronics

Example GPS Parser based off of arduiniana.org TinyGPS examples.

Parses NMEA sentences from an EM406 running at 4800bps into readable
values for latitude, longitude, elevation, date, time, course, and
speed.

For the SparkFun GPS Shield. Make sure the switch is set to DLINE.

Once you get your longitude and latitude you can paste your
coordinates from the terminal window into Google Maps. Here is the
link for SparkFun’s location.
http://maps.google.com/maps?q=40.06477,±105.20997
ALSO:
http://mapki.com/wiki/Google_Map_Parameters

Uses the Serial1 for serial communication with your GPS .

Improvements yet to be made are making sure that date time is
always the proper number of digits 1/3/2011 6:2:7 UTC just looks
odd 01/03/2011 06:02:07 UTC would be better.

*/

// In order for this sketch to work, you will need to download
// the TinyGPS from arduiniana.org and put it
// into your hardware->libraries folder in your ardiuno directory.
// Here are the lines of code that point to that library.
#include <TinyGPS.h>

// GPS will use Serial1

//Set this value equal to the baud rate of your GPS
#define GPSBAUD 4800

//Set this value equal to the baud rate of your Terminal
#define TERMBAUD 115200

// Create an instance of the TinyGPS object
TinyGPS gps;

// This is where you declare prototypes for the functions that will be
// using the TinyGPS library.
void getgps(TinyGPS &gps);

// In the setup function, you need to initialize two serial ports; the
// standard hardware serial port (Serial()) to communicate with your
// terminal program an another serial port (NewSoftSerial()) for your
// GPS.
void setup()
{
// This is the serial rate for your terminal program. It must be this
// fast because we need to print everything before a new sentence
// comes in. If you slow it down, the messages might not be valid and
// you will likely get checksum errors.
Serial.begin(TERMBAUD);
//Sets baud rate of your GPS
Serial1.begin(GPSBAUD);

Serial.println("");
Serial.println(“GPS Shield QuickStart Example Sketch v12”);
Serial.println(" …waiting for lock… “);
Serial.println(”");
}

// This is the main loop of the code. All it does is check for data on
// the RX pin of the ardiuno, makes sure the data is valid NMEA sentences,
// then jumps to the getgps() function.
void loop()
{
while(Serial1.available()) // While there is data on the RX pin…
{
int c = Serial1.read(); // load the data into a variable…
if(gps.encode©) // if there is a new valid sentence…
{
getgps(gps); // then grab the data.
}
}
}

// The getgps function will get and print the values we want.
void getgps(TinyGPS &gps)
{
// To get all of the data into variables that you can use in your code,
// all you need to do is define variables and query the object for the
// data. To see the complete list of functions see keywords.txt file in
// the TinyGPS library.

int year;
byte month, day, hour, minute, second, hundredths;
// char month_, day_, hour_,minute_,second_,hundredths_;
gps.crack_datetime(&year,&month,&day,&hour,&minute,&second,&hundredths);

/*

may use this section to format stuff, don’t know yet.

Serial.println(month,DEC);
if(0<=month && month <= 9)
{
month = month + 12;
}

Serial.println(day,DEC);
if(0<= day && day <= 9)
{
day = day+31;
}

Serial.println(year,DEC);

Serial.println(hour,DEC);
if(0<= hour && hour <= 9)
{
hour=hour+24;
}

Serial.println(minute,DEC);
if(0<= minute && minute <= 9)
{
minute = minute + 60;
}

Serial.println(second,DEC);
if(0<= second && second <= 9)
{
second = second +60;
}

*/

// Print date and time
Serial.print(month, DEC); Serial.print("/"); Serial.print(day, DEC); Serial.print("/"); Serial.print(year);
Serial.print(" “);
Serial.print(hour, DEC); Serial.print(”:"); Serial.print(minute, DEC); Serial.print(":"); Serial.print(second, DEC); Serial.println(" UTC");

// Define the variables that will be used
float latitude, longitude;
unsigned long fix_age;

// Then call this function
gps.f_get_position(&latitude, &longitude, &fix_age);
// You can now print variables latitude and longitude
Serial.print(“Lat/Lon/Alt: “);
Serial.print(latitude,5);
Serial.print(”, “);
Serial.print(longitude,5);
Serial.print(”, “);
// Also print altitude
Serial.print(gps.f_altitude());
Serial.println(“M”);
// Print heading and speed
Serial.print(gps.f_course()); Serial.print(”(deg)@”);
Serial.print(gps.f_speed_mps(),5); Serial.println("(m/s)");
// Serial.print(“Fix_Age: “);Serial.println(fix_age);
Serial.print(“http://maps.google.com/maps?q=”); Serial.print(latitude,5); Serial.print(”,”); Serial.println(longitude,5);
Serial.println();
}