Page 3 of 8 FirstFirst 1 2 3 4 5 ... LastLast
Results 31 to 45 of 120

Thread: Navigatie systeem

  1. #31
    Wist je dat TomTom ook een API heeft? Misschien dat je daar iets mee kunt doen?

  2. #32
    Hoe werkt dat ?
    Moet ik dan de navigatie App van TomTom gebruiken (zoja: welke precies, want ze hebben er meer (gehad dacht ik) ?), en dan kan ik met met eigen code deze App aansturen ?

  3. #33
    De 1e test versie werkt:

    Er wordt een .itn bestand gebruikt voor de route.
    In dit voorbeeld had ik 17 adressen, en ben onderweg naar het 3e adres.
    De afstand tot het eerste adres is 29,5 Km, en naar het volgende adres 59 km
    De linker pijl is het compass, en de rechter pijl de navigatie richting (de pijlen draaien altijd in de goede riching, ook als ik draai).
    er werden hier 6 Switch gebruikt om het een en ander anders in te stellen, maar deze kunnen weg.
    Ook gaf ik de compass waarde, de navigatie hoek en de stand van de navigeer pijl weer, deze kunnen ook weg.
    Met het knopje kan ik een screen shot maken (daarmee heb ik dit plaatje gemaakt).

    Deze afstanden zijn nu nog de afstanden in vogelvlucht, maar hopelijk krijg ik het ooit nog voor elkaar dat er een wegenkaart gebruik kan worden. Maar dat krijg ik zeer zeker niet voor elkaar zonder hulp...

    Click image for larger version. 

Name:	1e test versie.jpg 
Views:	121 
Size:	52.6 KB 
ID:	7397
    Last edited by MMSoft; 17-Oct-16 at 20:43.

  4. #34
    Quote Originally Posted by MMSoft View Post
    Deze afstanden zijn nu nog de afstanden in vogelvlucht, maar hopelijk krijg ik het ooit nog voor elkaar dat er een wegenkaart gebruik kan worden.
    En dan ook nog de snelste route tussen die 17 adressen zien te vinden

    Ziet er mooi uit.

  5. #35
    De snelheidsmeter werkt ook al goed, behalve als het GPS signaal wegvalt als je bijvoorbeeld in een tunnel rijdt.
    Daarvoor ben ik aan het zoeken of je niets ergens af kunt vragen of er wel of geen GPS ontvangst is.
    Helaas heb ik dat nog niet gevonden, ik verwacht dat dit wel mogelijk is maar hoe ?

  6. #36
    Je kunt even naar deze vraag en antwoorden kijken:
    http://stackoverflow.com/questions/2...e-gps-receiver

    Er staat wel dat de LocationListener onStatusChanged method niet werkt maar je zou even kunnen kijken of die voor jou wel werkt. Anders moet je even naar de antwoorden kijken.

  7. #37
    Ik loop (natuurlijk) toch weer vast.

    Procedure LocationSensor1StateChanged zou als het goed is gestart worden als de State wijzigd.
    Maar hoe lees ik de huidige State uit ?

    Code:
    procedure TForm1.LocationSensor1StateChanged(Sender: TObject);
    begin
     if LocationSensor1. ?  Then ...
    end;
    Edit:
    Het lijkt erop dat deze Procedure niet opgeroepen wordt, tenminste niet als de LocationSensor de GPS positie bepaald heeft.
    Last edited by MMSoft; 27-Oct-16 at 20:48.

  8. #38
    En wat is de LocationSensor.Sensor.State op moment van fix en het verliezen van de fix?
    http://docwiki.embarcadero.com/Libra...omSensor.State
    http://docwiki.embarcadero.com/Libra...s.TSensorState
    TSensorState = (Added, Removed, Initializing, Ready, NoData, AccessDenied, Error);
    NoData
    The sensor is available, but it is unable to provide data.
    Unlike Initializing, this state does not ensure that the sensor will ever be ready to provide data.

  9. #39
    Ik heb vandaag dit getest:
    Code:
    procedure TForm1.LocationSensor1StateChanged(Sender: TObject);
    begin
     Test:= Test + 1;
     Label8.Text := IntToStr(Test);
    end;
    Meer deze procedure is geen enkele keer uitgevoerd.

    En wat is de LocationSensor.Sensor.State op moment van fix en het verliezen van de fix?
    Als ik wist hoe ik deze af kon vragen dan kan ik het testen, maar dit alles geeft foutmeldingen:
    Code:
      Label8.Text := TSensorState;
      Label8.Text := LocationSensor1.TSensorState;
      Label8.Text := LocationSensor1.SensorState;
      if (LocationSensor1.Sensor.State = 'Ready') then Label8.Text := 'Ready';
      if (LocationSensor1.OnStateChanged = True) then Label8.Text := 'Gewijzigd';

  10. #40
    State is geen string dus dat wat je daar doet met .text en 'ready' gaat ook nooit werken.

    Je kunt dit proberen
    Code:
    Label8.Text := inttostr(LocationSensor1.Sensor.State);
    Code:
    uses TypInfo;
    //...
    Label8.Text := GetEnumName(TSensorState, LocationSensor1.Sensor.State);

  11. #41
    Beide geven een fout melding:
    Click image for larger version. 

Name:	1e fout melding.jpg 
Views:	96 
Size:	16.0 KB 
ID:	7409

    Click image for larger version. 

Name:	2e fout melding.jpg 
Views:	103 
Size:	28.3 KB 
ID:	7410

  12. #42
    Ja, ik zat niet achter een systeem dus wist even niet wat je precies moest tikken.

    Doe het maar even zo... dat moet wel werken:
    Delphi Code:
    1. case LocationSensor1.Sensor.State of
    2.   TSensorState.Added: Label8.Text := 'sensor - added';
    3.   TSensorState.Removed: Label8.Text := 'sensor - removed';
    4.   TSensorState.Initializing: Label8.Text := 'sensor - initializing';
    5.   TSensorState.Ready: Label8.Text := 'sensor - ready';
    6.   TSensorState.NoData: Label8.Text := 'sensor - no data';
    7.   TSensorState.AccessDenied: Label8.Text := 'sensor - access denied';
    8.   TSensorState.Error: Label8.Text := 'sensor error';
    9.   else Label8.Text := 'can not happen';
    10. end;

  13. #43
    Er verschijnt meteen 'sensor - ready', ook al is de GPS positie nog niet bepaald.
    Als de GPS positie wel bepaalt is, dan staat dat er nog steeds.
    Ook als ik mijn mobieltje op een plaats leg waar geen GPS ontvangst mogelijk is, dan staat er ook 'sensor - ready'

    Hiermee is blijkbaar niet af te vragen of er 'wel' of 'geen' GPS ontvangst is.
    Maar hoe zou het wel kunnen ?
    Last edited by MMSoft; 29-Oct-16 at 08:20.

  14. #44
    In plaats van de case die ik opgaf kun je ook dit doen:
    Delphi Code:
    1. uses TypInfo;
    2.  
    3. procedure TForm1.Timer1Timer(Sender: TObject);
    4. begin
    5.   Label1.Text := GetEnumName(TypeInfo(System.Sensors.TSensorState),
    6.     Ord(LocationSensor1.Sensor.State));
    7.   Label8.Text := GetEnumName(TypeInfo(System.Sensors.TLocationSensorType),
    8.     Ord(LocationSensor1.Sensor.SensorType));
    9. end;

    Probleem is dat die TSensorType altijd GPS is.
    Het andere probleem is ook dat de TLocationSensor niet alleen direct de GPS weergeeft maar als die niet beschikbaar is wordt de locatie bepaald a.d.h.n. wifi netwerken in de buurt. Dus het is een highlevel overkoepelend component die niet veel informatie geeft over hoe de locatie tot stand komt.

    Er is in Delphi 10.1 wel een TGpsStatus maar die schijnt niet compleet te zijn (abstract).

    Dan blijft alleen maar over om weer die TSensorManager er weer bij te pakken en alle sensoren door te lopen tot je de LLocationSensor hebt en dan zou je (theoretisch) de satellite-count (SENSOR_DATA_TYPE_SATELLITES_USED_COUNT) uit moeten kunnen lezen.

    Complete code heb ik op dit moment niet. Ik zal in het weekend wel even kijken of ik iets kan vinden (wat bij mij werkt).

  15. #45
    Ook al moet de GPS positie nog bepaald worden, dan geeft deze code al meteen "Ready" en "GPS", en deze tekst blijft staan wat er ook gebeurd.

Page 3 of 8 FirstFirst 1 2 3 4 5 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •