Was ist Directions ?
Ich würde als Zusammenfassung sagen : Das was man bei einem Auto-Navi auf den Monitor
bekommt. Damit meine ich z.b. rechts/links "Pfeile" als optische Hinweise die man allerdings
erst selbst "malen" muss. Man kann nur die Eigenschaften (Property) abfragen (read only)
und bekommt eine Zahl = GeoDirectionAction Wert zurück. Diese kann man dann auch
für die Sprachausgabe verwenden. (z.b. Speech v5.x API SDK )
!!! Achtung : In der MP2004 gehen die GeoDirectionAction Werte nur bis 12, aber es wird
auch 14 zurück gegeben was wiederum mit der MP2006 übereinstimmt.
Auch hat sich 11 und 12 in der MP2006 gegenüber MP2004 geändert !!!
Was will ich mit Directions ?
ich wollte ja mal raus finden was meine Waypoints für Directions Eigenschaften haben.
Was ist zu beachten ?
klar das erst mindesten 2 Waypoints gesetzt sein müssen UND es muss ein Calculate() erfolgt
sein sonst gibt es NIL ...
nach dem ich das nun endlich rausgefunden hatte wollte ich nun anhand der Item:Directions
Eigenschaften die Waypoints analysieren und ggf. Delete()
Code: Alles auswählen
//
// no :Directions() when not :Calculate()
//
::oMap:ActiveMap:ActiveRoute:Calculate()
//
//
//
imax := ::oMap:ActiveMap:ActiveRoute:Waypoints:Count()
IF imax > 1
FOR i := iMax TO 2 STEP -1
ALTD()
//
// get Action from every Item
//
nAction := ::oMap:ActiveMap ; // MAP
:ActiveRoute ; // ROUTE
:Directions() ; // DIRECTIONS
:Item(i) ; // ITEM
:Action // geo*
lUseit := .F.
DO CASE
CASE nAction = geoActionDepart // 1 Abfahrt von einem
...
ENDCASE
IF lUseit = .T.
ELSE
ALTD()
::oMap:ActiveMap:ActiveRoute:Waypoints:Item(i):Delete()
ENDIF
NEXT
ELSE
TONE(1000)
ENDIF
je nachdem wie die FOR/NEXT Scheife raus/runter zählt knallt er beim Item( i )
er macht in diesem Beispiel z.b. iMax := 12, den löscht er nun dann wären es doch 11 ?
komme ich nun in der FOR/NEXT auf das "nAction :=" wo es ja auch ein Item( i )
gibt dann knallt es ... bei 11
zähle ich ihn hoch von 1 bis iMax knallt es "unten" beim Delete() ...
ich bin mit meinem Latein am Ende ... jemand einen Tip ?