Ir al contenido


Foto

Jugando con el Gps del movil


  • Por favor identifícate para responder
18 respuestas en este tema

#1 seoane

seoane

    Advanced Member

  • Moderador
  • PipPipPip
  • 1.257 mensajes
  • LocationEspaña

Escrito 21 diciembre 2011 - 01:40

Pues ahora que dispongo de un poco de tiempo para jugar con mi móvil nuevo, un Samsung Galaxy Ace con Android, he probado una aplicación que permite enviar las coordenadas gps del móvil hacia una pagina web. Mas concretamente lo que manda una cadena de texto del tipo GPRMC que es una forma "estándar" de transmitir los datos que usan muchos dispositivos gps.

Aqui explica el formato GPRMC: http://gonzalo.aro.c...standard-gprmc/

La aplicación que utilizo es esta, y se puede encontrar en el market de android:
https://market.andro...gps2opengtsfree

Para recoger los datos he subido a mi web un poco de código php que se encarga de recibir los datos y guardarlos en una base de datos

<?php
  error_reporting(0);
  main();
?>

<?php

function remoteip()   
{
  $ip = 0;
  if (!empty($_SERVER["HTTP_CLIENT_IP"]))
    $ip = $_SERVER["HTTP_CLIENT_IP"];
  if (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))   
  {
    $iplist = explode(", ", $_SERVER["HTTP_X_FORWARDED_FOR"]);
if ($ip)   
{
  array_unshift($iplist, $ip);
    $ip = 0;
  }
foreach($iplist as $v)
    if (!eregi("^(192\.168|172\.16|10|224|240|127|0)\.", $v))
      return $v;
}
return ($ip) ? $ip : $_SERVER["REMOTE_ADDR"];
}

function checksum($str)
{
$result = 0;
for ($i=1;$i<strlen($str);$i++)
{
  if ($str[$i]=='*')
    return $result;
  $result = $result ^ ord($str[$i]);
}
return -1;
}

function main()
{
  if ((isset($_GET['acct'])) && (isset($_GET['dev'])) && (isset($_GET['gprmc'])))
  {
    $host = remoteip();
    $keys  = explode(',', 'command,time,fix,lat,lath,lon,lonh,knots,bearing,date,empty,checksum');
    $values = explode(',', $_GET['gprmc']);
    if ($data = array_combine($keys, $values))
    {
      if ($data['command'] == '$GPRMC' )
        if (hexdec($data['checksum'])==checksum($_GET['gprmc']))
      {
        $con = mysql_connect("localhost","usuario","password");
        if ($con)
        {
          mysql_select_db("tracker", $con);
          $sql = sprintf("INSERT INTO updates (acct,dev,host,time,fix,lat,lath,lon,lonh,date) VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')",
            mysql_real_escape_string($_GET['acct'],$con),
            mysql_real_escape_string($_GET['dev'],$con),
            mysql_real_escape_string($host,$con),
            mysql_real_escape_string($data['time'],$con),
            mysql_real_escape_string($data['fix'],$con),
            mysql_real_escape_string($data['lat'],$con),
            mysql_real_escape_string($data['lath'],$con),
            mysql_real_escape_string($data['lon'],$con),
            mysql_real_escape_string($data['lonh'],$con),
            mysql_real_escape_string($data['date'],$con)           
          );
          if (mysql_query($sql,$con))
          {
          echo 'OK';
          return;
          }
          mysql_close($con); 
        } 
      }
    }
  }
  if (isset($_GET['cmd']))
  {
if (($_GET['cmd']=='last') && (isset($_GET['acct'])) && (isset($_GET['dev'])) && (isset($_GET['count']))  && (is_numeric($_GET['count'])))
{
  $con = mysql_connect("localhost","usuario","password");
if ($con)
{
mysql_select_db("tracker", $con);
$sql = sprintf("select lath,lat,lonh,lon,timestamp,host,date,time from updates where acct='%s' and dev='%s' order by timestamp desc limit %s",
  mysql_real_escape_string($_GET['acct'],$con),
mysql_real_escape_string($_GET['dev'],$con),
mysql_real_escape_string($_GET['count'],$con));
if ($query = mysql_query($sql,$con))
{
  header('Content-type: text/plain');
header("Cache-Control: no-cache, must-revalidate");
          header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
  echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
          echo '<kml xmlns="http://www.opengis.net/kml/2.2">'."\n";
echo "  <Document>\n";
  while($thisrow=mysql_fetch_row($query))
{
  if (is_numeric($thisrow[1]) && is_numeric($thisrow[3]))
{
  $lat=((float)substr($thisrow[1],0,2)) + (((float)substr($thisrow[1],2,16))/60);
$lon=((float)substr($thisrow[3],0,3)) + (((float)substr($thisrow[3],3,16))/60);
echo "    <Placemark>\n";
echo sprintf("      <name>%s</name>\n",htmlentities($thisrow[4]));
echo sprintf("      <description>%s / %s / %s</description>\n",
  htmlentities($thisrow[5]),
htmlentities($thisrow[6]),
htmlentities($thisrow[7]));
echo "      <Point>\n";
echo sprintf("        <coordinates>%s%f,%s%f</coordinates>\n",
  $thisrow[2]=='E'?'':'-',$lon,
$thisrow[0]=='N'?'':'-',$lat);
echo "      </Point>\n";
echo "    </Placemark>\n";
            }
}
echo "  </Document>\n";
echo "</kml>\n";
return;
}
mysql_close($con); 

}
  }
  echo 'ERROR';
}

?>


Para mostrar los datos estaba pensando en usar los componentes de Cadetill y hacer un bonito programa en delphi, pero todavía no he podido revisarlos con detenimiento, así que he optado por algo mas sencillo generar un fichero KML que pude ser interpretado por google maps

Tutorial sobre ficheros KML: http://code.google.c...on/kml_tut.html

El código para generar el fichero KML esta incluido en el código PHP que puse más arriba, solamente hay que pasar como parametros el nombre de usuario, la id del dispositivo y el numero de posiciones que queremos que nos devuelva y automáticamente se generara el fichero con las ultimas posiciones registradas.

Por ejemplo, el siguiente enlace genera un fichero KML con la ruta que he seguido en mi ultimo paseo:

http://delphi.jmrds....oane&dev=test01

Y una vez que tenemos el fichero solamente nos queda cargarlos en el google maps, para eso solo le tenemos que pasar la ruta como cadena de búsqueda, algo así:

http://maps.google.c...oane&dev=test01

Por si tenéis curiosidad la ruta que se muestra (al menos a dia de hoy) soy yo yendo a comprar un libro (el ultimo de Santiago Posteguillo)  :)

Saludos
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.242 mensajes
  • LocationMéxico

Escrito 21 diciembre 2011 - 02:01

Caramba amigo, siempre sorprendes con esos ratos libres que tienes, ya quisiera yo tener 15 minutos libres para salvar al mundo :D :D :D

Y sigo sosteniendo, cada día me recuerdan lo poco que sé. :)

Salud OS
  • 0

#3 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 21 diciembre 2011 - 02:33

Compañero Seoane:

Permíteme felicitarte por tu excelente esfuerzo, eso de los datos GPS es interesante y más usando GoogleMaps.

...Y sigo sosteniendo, cada día me recuerdan lo poco que sé...


Si tú sabes poco, yo sé menos que tú, creémelo. Deberías dejar la modestia algún día en casa, en la profesión sirve de poco...  :D :D :tongue: :tongue:
  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.242 mensajes
  • LocationMéxico

Escrito 21 diciembre 2011 - 02:50

Si tú sabes poco, yo sé menos que tú, creémelo. Deberías dejar la modestia algún día en casa, en la profesión sirve de poco...  :D :D :tongue: :tongue:


jejeje, n'ombre, lo digo sin falsa modestia, al lado de varios compañeros como seaone claro que sé muy poco, tengo mis virtudes eso no lo niego, pero me quito el sombrero con muchos de por aquí. :)

Salud OS
  • 0

#5 Caral

Caral

    Advanced Member

  • Administrador
  • 4.261 mensajes
  • LocationCosta Rica

Escrito 21 diciembre 2011 - 04:08

Hola
Como siempre:
Interesante, buenísimo y no entiendo nada  : 8o|
Saludos
  • 0

#6 seoane

seoane

    Advanced Member

  • Moderador
  • PipPipPip
  • 1.257 mensajes
  • LocationEspaña

Escrito 21 diciembre 2011 - 05:25

Y sigo sosteniendo, cada día me recuerdan lo poco que sé. :)


Yo tampoco se mucho, pero para eso esta google  :D

Interesante, buenísimo y no entiendo nada  : 8o|


Ya sera menos, algo seguro que entiendes  :)

  • 0

#7 javsolis3

javsolis3

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.380 mensajes
  • LocationPanama

Escrito 22 diciembre 2011 - 07:48

(y) (y) (y) (y)  Exactamente amigo Seone para eso esta google es tremenda herramienta investigativa en donde miles de personas como nosotros han colocados sus proyectos con la intencion que personas como nosotros vean los ejemplos que ellos han realizado y lo mejores.  Como lo haces tu amigo, buenicimos trabajo y sigue asi, y compañeros y eso que esta escaso de tiempo; imaginence si tuviera jejejeje ya estuvieramis usando el sistema operativo de Seone jejejejeje, simple comentario amigo saludos. : (y) (y) (y).
  • 0

#8 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 02 marzo 2012 - 10:20

Pues me gustaria convertir este codigo PHP a Delphi para captar los datos que llegan por medio de el puerto UDP a KML y poder utilizarlos en google maps o google earth.  Alguien me brinda algunas ideas de por donde comenzar. He utilizado PHP antes, pero hace mucho que no lo hago y la verdad es que estoy perdido.

El otro problema es que utilizo Firebird y las veces que he utilizado PHP lo que hecho es convertir algunas funciones para trabajar con Firebird-interbase y aqui hay algunas funciones que no encuentro su equivalencia para firebird-interbase.

Agradezco las ideas que puedan brindarme  (y)
  • 0

#9 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 02 marzo 2012 - 10:52

Imagen Enviada

Uploaded with ImageShack.us


esto es lo que recibo por el UPD gracias a una aplicacion tipo consola que habia publicado seoane y que me sirve para hacer las pruebas de recepcion.


la idea es convertir por ejemplo:
GPRMC.020848.A.3709.0642.N.14207.8315.W.0.094824.108.52.030312...5

A kml o algo que pueda leer con google maps o google earth

  • 0

#10 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 02 marzo 2012 - 11:59

Encontre estas informaciones:

NMEA Sentence Definition
Posted January 10, 2011 12:17 am in Thesis.

The GPS Shield writes data to an SD card every second in the form of NMEA Sentences.
So now that we have the data, what do we do with it?

First of all, let’s break down the data that is being captured.
The NMEA sentence

The NMEA sentence is a comma separated list of values which contains information on a single GPS reading. There are a number of sentence types, but the most common is a GPRMC sentence – the “Recommended Minimum” data that a sentence must contain.
Example

$GPRMC,084752.000,A,5152.4175,N,00832.5083,W,11.90,62.01,231110,,*12
Definition

Sentence Type, Satellite Date & Time, Signal Status, Latitude, Latitude Hemisphere, Longitude, Longitude Hemisphere, Speed in Knots, Bearing, Local Time, Magnetic Variation, Check Sum

Sentence Type ($GPRMC)
This indicates the type of NMEA sentence.

Satellite Date & Time (084752.000)
This indicates the date and time (UTC, HHMMSS.XXX) during a reading.

Satellite Status (A)
This indicates if a signal is active (A – active) or not (V – invalid).

Latitude (5152.4175)
This indicates the distance from the equator, north or south.

Latitude Hemisphere (N)
This indicates if the distance is North (N) or South (S) of the equator.

Longitude (00832.5083)
This indicates the distance from the Prime Meridian, east or west.

Longitude Hemisphere (W)
This indicates if the distance is West (W) or East (E) of the Prime Meridian.

Speed in Knots (11.90)
This indicates the speed that the device is currently travelling at.

Bearing (62.01)
This indicates the direction that the device is currently moving in, from 0 to 360, measured in “azimuth”.

0 – North
90 – East
180 – South
270 – West

Local Time (231110)
This indicates the local date on the device, in DDMMYY format.

Magnetic Variation
Magnetic Variation indicates the difference between magnetic North and true north readings. Some GPS devices (including the GPS shield) define this as an optional field.

Check Sum
The checksum is used to indicate any errors in the rest of the sentence.
Latitude readings

Google Maps and Bing Maps can’t process a raw geocode from a NMEA sentence – it needs to be converted first. Consider the Latitude component of the NMEA sentence – 5152.4175,N. This is in the HHMM.M format (Hours, Minutes).

In order to convert the Latitude to the correct format, the minutes component needs to be converted to decimal format. Therefore, 52.4175 must be divided by 60, giving us 0.873625.

5152.4175 becomes 51.873625.

The Latitude Hemisphere indicates if this should be a positive or negative number – if the Hemisphere is North (N), then it is positive, if not, it becomes negative.
Longitude readings

Similiar to the Latitude component of the NMEA sentence, the Longitude component – 00832.5083,W – is in the HHHMM.M format (Hours, Minutes).

In order to convert the Longitude to the correct format, the minutes component needs to be converted to decimal format. Therefore, 32.5083 must be divided by 60, giving us 0.541805.

00832.5083 becomes 8.541805.

The Longitude Hemisphere indicates if this should be a positive or negative number – if the Hemisphere is West (W), then it is negative, if not, it becomes positive.


en esta pagina

me parecieron muy completas y claras. sin embargo al menos que lo que me envia el programa hacia el udp este incorrecto. los calculos me dan:

Latitud  37.15107  y longitud  -142.130525

cuando mi posicion es mas o menos:
Latitud 18.506093  y longitud -69.7871292


la ultima si la entro en la pagina de mapquest  en el link de mapa por latitud y longitud me da la posicion correcta. obviamente la primera no.

  • 0

#11 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 03 marzo 2012 - 09:32

Hola Amigos

Hice una aplicacion con indy para recibir mediante el puerto UDP y la cadena que recibo es:

$GPRMC,151058,A,3709.0642,N,14207.8315,W,0.094824,108.52,030312,,*b


la cual corresponde mas al formato, pero al convertirla  a kml con esta pagina que encontre:
http://pa-n.com/nmea2kml/

la localizacion es erronea, por lo tanto el archivo que envia el programa tiene algo.




  • 0

#12 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 03 marzo 2012 - 09:43

eso me pasa por no leer, aparentemente la cadena que envia cuando le das a send test, no utiliza los datos del gps, porque cuando el sistema lo envia solo, si funciona bien. ahora voy a comprar la version pro y ver como convierto la cadena que llega a KML.
  • 0

#13 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 05 marzo 2012 - 03:39

Pues encontre un programa en esta pagina, es muy bueno y ademas es gratis.
Mientras aprendo bien como crear los KML, porque la verdad es que son muchas las cosas que se puede hacer con ellos, estoy viendo las variantes que crea este programa y construyendo mi base de datos.

Imagen Enviada

pagina HOME

pagina de descarga de NMEA2KMZ
con este programa pueden convertir a KML,KMZ,GPX,CSV,NMEA
  • 0

#14 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 09 marzo 2012 - 10:59

bueno ya he logrado hacer algo con esto de los KML.

luego de crear una tabla con los datos recibidos desde del gps2opengts y calcularlos antes de guardarlos como indica el texto que puse en uno de los hilos anteriores, he hecho esto para crear el KML:



delphi
  1. procedure TForm1.Button2Click(Sender: TObject);
  2. var
  3. gpskml: TStringList;
  4. begin
  5.   gpskml := TStringList.Create;
  6.   gpskml.Add('<?xml version="1.0" encoding="UTF-8"?>' );
  7.   gpskml.Add('<kml xmlns="http://earth.google.com/kml/2.1">');
  8.   gpskml.Add('<Document>');
  9.   gpskml.Add('<name>09-03-2012_20-12-46</name>');
  10.   gpskml.Add('<visibility>1</visibility>');
  11.   gpskml.Add('<Folder>');
  12.   gpskml.Add('<name>Track</name>');
  13.   gpskml.Add('<Placemark>');
  14.   gpskml.Add('<name>Track information</name>');
  15.   gpskml.Add('<Style>');
  16.   gpskml.Add('<LineStyle>');
  17.   gpskml.Add('<color>C80000FF</color>');
  18.   gpskml.Add('<width>3</width>');
  19.   gpskml.Add('</LineStyle>');
  20.   gpskml.Add('</Style>');
  21.   gpskml.Add('<LineString>');
  22.   gpskml.Add('<tessellate>2</tessellate>');
  23.   gpskml.Add('<coordinates>');
  24.   ZQgps.First;
  25.   while not ZQgps.Eof  do
  26.     begin
  27.       gpskml.Add(ZQgpsLONGITUD.AsString +','+ZQgpsLATITUD.AsString);
  28.       ZQgps.Next;
  29.     end;
  30.   gpskml.Add('</coordinates>');
  31.   gpskml.Add('</LineString>');
  32.   gpskml.Add('</Placemark>');
  33.   gpskml.Add('</Folder>');
  34.   gpskml.Add('</Document>');
  35.   gpskml.Add('</kml>');
  36.   gpskml.SaveToFile('c:\lucianogps.kml');
  37.   gpskml.Free;



Ahora estoy trabajando con los placemarks y otras cosas mas.
Vamos a ver como vamos avanzando con esto.

Les dejo un archivo KML que pueden verlo en google earth o con google maps*

Imagen Enviada

Uploaded with ImageShack.us

  • 0

#15 felipe

felipe

    Advanced Member

  • Moderador
  • PipPipPip
  • 3.283 mensajes
  • LocationColombia

Escrito 10 marzo 2012 - 07:21

Bastante útil toda la información que publicas Luk, ¿en el caso de Google Maps como hago uso del archivo KML?


Saludos!
  • 0

#16 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 10 marzo 2012 - 12:16

Felipe para verlo por google maps, he puesto el archivo en el directorio WWW del directorio APPSERV del servidor y con una direccion que habia creado en no-ip lo he llamado de la siguiente forma:

http://maps.google.com/maps?q=http://direccion.no-ip.biz/archivo.kml%20%20%20%20%20&z=16


y se carga como lo ves en la imagen que puse en el mensaje anterior. Obvio esta no es mi direccion ip, ni el nombre del archivo, solo es un ejemplo.  Talvez haya otras formas de hacerlo, pero estoy experimentando con esto.

De cualquier manera para ver la ubicacion de un punto especifico desde google maps, si ya tienes la longitud y la latitud solo tienes que hacer esto:

desde delphi con un webBrowser:


delphi
  1. WebBrowser1.Navigate('[url=http://maps.google.com/maps?q='+]http://maps.google.com/maps?q='+[/url] Form1.ZQlatlongLATITUD.AsString + '+' + Form1.ZQlatlongLONGITUD.asstring);



o desde el explorador:

http://maps.google.com/maps?q=18.507285,%20-69.988895



  • 0

#17 felipe

felipe

    Advanced Member

  • Moderador
  • PipPipPip
  • 3.283 mensajes
  • LocationColombia

Escrito 10 marzo 2012 - 03:43

Felipe para verlo por google maps, he puesto el archivo en el directorio WWW del directorio APPSERV del servidor y con una direccion que habia creado en no-ip lo he llamado de la siguiente forma:

http://maps.google.com/maps?q=http://direccion.no-ip.biz/archivo.kml%20%20%20%20%20&z=16


y se carga como lo ves en la imagen que puse en el mensaje anterior. Obvio esta no es mi direccion ip, ni el nombre del archivo, solo es un ejemplo.  Talvez haya otras formas de hacerlo, pero estoy experimentando con esto.

De cualquier manera para ver la ubicacion de un punto especifico desde google maps, si ya tienes la longitud y la latitud solo tienes que hacer esto:

desde delphi con un webBrowser:


delphi
  1. WebBrowser1.Navigate('[url=http://maps.google.com/maps?q='+]http://maps.google.com/maps?q='+[/url] Form1.ZQlatlongLATITUD.AsString + '+' + Form1.ZQlatlongLONGITUD.asstring);



o desde el explorador:

http://maps.google.com/maps?q=18.507285,%20-69.988895





Aclarado (y)... y a propósito buen nombre el de la avenida :)


Saludos!
  • 0

#18 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 16 marzo 2012 - 10:43

he sacado un momentico para probar esto de los placemark y he logrado hacer esto:



delphi
  1. procedure TForm1.Button2Click(Sender: TObject);
  2. var
  3. gpskml: TStringList;
  4.  
  5. begin
  6.   gpskml := TStringList.Create;
  7.   gpskml.Add('<?xml version="1.0" encoding="UTF-8"?>' );
  8.   gpskml.Add('<kml xmlns="http://earth.google.com/kml/2.1">');
  9.   gpskml.Add('<Document>');
  10.   gpskml.Add('<name>09-03-2012_20-12-46</name>');
  11.   gpskml.Add('<visibility>1</visibility>');
  12.   gpskml.Add('<Style id="style_id_speed1">');
  13.   gpskml.Add('<IconStyle>');
  14.   gpskml.Add('<Icon>');
  15. gpskml.Add('<href>url=http://maps.google.com/mapfiles/kml/pal4/icon62.png]http://maps.google.com/mapfiles/kml/pal4/icon62.png[/url]</href>');
  16.   gpskml.Add('</Icon>');
  17.   gpskml.Add('</IconStyle>');
  18.   gpskml.Add('</Style>');
  19.   gpskml.Add('<Folder>');
  20.   gpskml.Add('<name>Track</name>');
  21.   gpskml.Add('<Placemark>');
  22.   gpskml.Add('<name>Track information</name>');
  23.   gpskml.Add('<Style>');
  24.   gpskml.Add('<LineStyle>');
  25.   gpskml.Add('<color>C80000FF</color>');
  26.   gpskml.Add('<width>3</width>');
  27.   gpskml.Add('</LineStyle>');
  28.   gpskml.Add('</Style>');
  29.   gpskml.Add('<LineString>');
  30.   gpskml.Add('<tessellate>2</tessellate>');
  31.   gpskml.Add('<coordinates>');
  32.   ZQgps.First;
  33.   while not ZQgps.Eof  do
  34.     begin
  35.       gpskml.Add(ZQgpsLONGITUD.AsString +','+ZQgpsLATITUD.AsString);
  36.       ZQgps.Next;
  37.     end;
  38.   gpskml.Add('</coordinates>');
  39.   gpskml.Add('</LineString>');
  40.   gpskml.Add('</Placemark>');
  41.   gpskml.Add('</Folder>');
  42.   gpskml.Add('<Folder>');
  43.   ZQgps.First;
  44.   while not ZQgps.Eof  do
  45.     begin
  46.       gpskml.Add('<Placemark>');
  47.       gpskml.Add('<name>'+ZQgpsFECHA.AsString+'</name>');
  48.       gpskml.Add('<description> velocidad= '+ZQgpsVELOCIDADKMH.AsString +' Kmh'+'</description>');
  49.       gpskml.Add('<visibility>1</visibility>');
  50.       gpskml.Add('<styleUrl>#style_id_speed1</styleUrl>');
  51.       gpskml.Add('<Point>');
  52.       gpskml.Add('<coordinates>'+ZQgpsLONGITUD.AsString +','+ZQgpsLATITUD.AsString+'</coordinates>');
  53.       gpskml.Add('</Point>');
  54.       gpskml.Add('</Placemark>');
  55.       ZQgps.Next;
  56.     end;
  57.   gpskml.Add('</Folder>');
  58.   gpskml.Add('</Document>');
  59.   gpskml.Add('</kml>');
  60.   gpskml.SaveToFile('c:\lucianogps.kml');
  61.   gpskml.Free;
  62.  
  63. end;




el resultado es algo como esto:
Imagen Enviada

Uploaded with ImageShack.us


Esta es una pagina donde indica los iconos que se pueden usar en google maps, aunque en algunos casos se ven otros en el numero que corresponde a ellos.
http://econym.org.uk/gmap/geicons.htm


voy a depurar el codigo en estos dias y les estare mostrando los avances.

  • 0

#19 Ohkr2000

Ohkr2000

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 13 octubre 2013 - 06:13

Hola, hace rato no tenia contacto con Delphi, pero ahora estoy necesitando desarrollar una aplicación que me permita localizar un personal en terreno desde una aplicación que tenga en un centro de control, quisiera saber como van los avances en el hilo que se venia trabajando, luk2009 ya llevaba algo avanzado desde el 2012, que llevas hasta ahora?... espero me puedas colaborar. muchas gracias
  • 0