Simon88, il 31/10/2009 - 13:08, ha scritto:
Grazie per la risposta e mi scuso per l'enorme ritardo
Ho guardato il link da te consigliato, sembra molto carino come programma e l'avrei provato se solo andasse bene per il mio cell. Infatti ho ancora un 6630 e ho visto dalla pagina dei download che non è compatibile. Vabbè,pazienza.
Forse quello che non si è capito nella mia richiesta e che voglio precisare è che una volta che ho creato il file con la tracciatura del percorso non ho necessità di rivederlo sul cell, mi basta guardarlo sul PC.
concettualmente è molto facile da realizzare.
Si puo' partire per esempio dal mio LCCarTrack:
Bisogna poi riscrivere la funzione UploadPosition() in modo che, invece di inviare messaggi, aggiunga ripetutamente allo stesso file una riga che rappresenta la posizione attuale, secondo il formato KML usato da GoogleEarth, che è molto semplice: si tratta di un file con header e footer fissi, e tra i due c'e' una riga che contiene "triplette"
longitudine,latitudine,quota[spazio]longitudine,latitudine,quota[spazio]longitud
ine,latitudine,quota:
HEADER
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>percorso di prova.kml</name>
<Style id="sh_ylw-pushpin">
<IconStyle>
<scale>1.3</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
</Icon>
<hotSpot x="20" y="2" xunits="pixels" yunits="pixels"/>
</IconStyle>
</Style>
<Style id="sn_ylw-pushpin">
<IconStyle>
<scale>1.1</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
</Icon>
<hotSpot x="20" y="2" xunits="pixels" yunits="pixels"/>
</IconStyle>
</Style>
<StyleMap id="msn_ylw-pushpin">
<Pair>
<key>normal</key>
<styleUrl>#sn_ylw-pushpin</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#sh_ylw-pushpin</styleUrl>
</Pair>
</StyleMap>
<Placemark>
<name>percorso di prova</name>
<styleUrl>#msn_ylw-pushpin</styleUrl>
<LineString>
<tessellate>1</tessellate>
<coordinates>
RIGA
12.47494694554556,42.03293434277245,0 12.70192580477174,42.04891752926888,0 12.79569885382776,41.86679852684195,0 12.52032829240377,41.83303461511621,0
FOOTER
</coordinates>
</LineString>
</Placemark>
</Document>
</kml>
Infine, bisogna fare in modo che il programma entri in "modalità tracking" alla pressione di un pulsante, anziche' alla ricezione di un messaggio. Questa è la parte che attiva la modalità tracking:
Bisogna inserire codice "di quel tipo" (ma senza la parte dei messaggi) nella funzione cb_capture, associandola a un tasto a scelta, per esempio il 4, che originariamente chiamava una volta sola UploadPosition():
def cb_capture(key):
global abort
if key==keycapture.EKey0:
PrintOptions();
if key==keycapture.EKey1:
print "Current position:", ReadPos()
if key==keycapture.EKey2:
print "Sending message..."
SendMess(Recipient_number, ReadPos())
if key==keycapture.EKey3:
try:
sock=socket.socket(socket.AF_BT,socket.SOCK_STREAM)
address,service=socket.bt_discover()
print "Address:", address
except Exception, e:
print "Error formatting message: " + str(e)
if key==keycapture.EKey4:
TRACKING = 1
while (TRACKING == 1):
e32.ao_sleep(INTERVAL)
UploadPosition()
if key==keycapture.EKey5:
print "STOP!"
abort = 1
Io pero' non ho tempo di aggiornare il programma......
Messaggio modificato da JumpJack_ il 01 febbraio 2010 - 15:39