Page 5 of 5 FirstFirst ... 3 4 5
Results 61 to 65 of 65

Thread: Hoe Locatie gebied met een bepaalde straal bepalen ?

  1. #61
    Of die bearingTo() ook in Delphi geïmplementeerd is weet ik niet.

    Die rads functie en aanroep is nu goed zo. Dat laatste was alleen maar in even te laten zien waarom ik op die website met die cos(waarde) op een andere uitkomst kwam. Omdat waarde omgezet moest worden naar radians. Dat die je met de aanroep dus gelijk al.

    (Je kunt de coördinaten natuurlijk ook in de functie zelf omzetten)


    (Website werkt nog steeds klote op mobiel. Kan geen post wijzigen. Dan wordt ie altijd gedelete. Wordt tijd voor een tapatalk plugin)

  2. #62
    Vandaag de gehele dag getest, ik heb niets vreemd meer gemerkt en heb nu het idee dat het goed werkt.
    (Alleen is de App 3x vast gelopen, maar daarover heb ik al een post lopen)

    Rik (en iedereen die meegedacht heeft) bedankt !

  3. #63
    MMSoft, met intresse las ik dit topic, maar,
    ik zag ook dat in #52 en #53 dat het compass bij jouw het opeens deed omdat je Delphi 10.1 (Berlin) had geinstaleerd. zelf heb ik nu Delphi 10.2 (Tokyo) maar het lukt mij nog steeds niet. heb de code van #45 geprobeerd.
    Heb jij nog een voorbeeldje voor mij waar ik eens kan zien hoe het nu eigenlijk moet werken ?
    Groet Ronaldinho

  4. #64
    De LocationSensor en de OrientationSensor sensor werken helaas niet samen in Delphi (Bug ?)
    Zie: https://www.nldelphi.com/showthread....or-is-gebruikt

    Daarom gebruik ik de 'TrueHeading' van de LocationSensor als compass.
    LocationSensor1.Sensor.TrueHeading; //Compass waarde

    Deze geeft helaas pas een betrouwbare waarde als je beweegt (van GPS positie veranderd).
    Ik zou graag de OrientationSensor sensor gebruiken (zodat ik direct weet waar het noorden is), maar heb nog geen oplossing om deze sensors samen te laten werken.
    Last edited by MMSoft; 14-Jul-19 at 07:51.

  5. #65
    Misschien mis ik iets overduidelijks maar volgens mij is dit eenvoudig te regelen met de EnterRegion/ExitRegion events

    Code:
    procedure TForm2.DoAddRegion(ALatitude, ALongitude: TLocationDegrees;
      ARadius: TLocationDistance; AName: string);
    begin
      LocationSensor1.AddRegion(TLocationRegion.Create(
        TLocationCoord2D.Create(51.438231, 5.477976), ARadius, AName));
    end;
    
    procedure TForm2.FormCreate(Sender: TObject);
    begin
      //Ben er hier van uit gegaan dat 51.438231, 5.477976 het middelpunt van Eindhoven is
      DoAddRegion(51.438231, 5.477976, BaseOffset, 'Eindhoven');
    end;
    
    procedure TForm2.LocationSensor1EnterRegion(Sender: TObject;
      const Region: TLocationRegion);
    begin
      //Hier harde controle, denk dat je dit mogelijk in een db of
      //dictionary wilt opzoeken om te bepalen wat je gaat tonen
      //ipv elke plaats hardcoded er in zetten ;)
      if Region.ID = 'Eindhoven' then
        //Toon info
    end;
    
    procedure TForm2.LocationSensor1ExitRegion(Sender: TObject;
      const Region: TLocationRegion);
    begin
      //Verberg info?
    end;
    BaseOffset is in het form als constante gedefinieerd met de waarde 20000.
    Radius van de region is van het type TLocationDistance waarvan de documentatie het volgende zegt:
    Distance between two geographic points measured in meters

Page 5 of 5 FirstFirst ... 3 4 5

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
  •