Results 1 to 10 of 10

Thread: GPS volg App.

  1. #1

    GPS volg App.

    Ik probeer een (android) App te maken waarmee je van elkaar kunt zien waar de ander is (GPS locatie).
    De huidige positie bepalen is geen probleem (GPS sensor), ook het weergeven waar iemand is op een kaart is geen probleem.
    Zit ik alleen nog met het vesturen en ophalen van deze data.
    Het mooiste zou zijn als gebruiken A wil weten waar gebruiken B is, dan dan A een verzoek kan sturen naar B, en B deze data dan verstuurd.
    Ik denk er aan om via een SMSje data te verzenden, maar eigenlijk is dat wel jammer omdat er bijna altijd een internet verbinding aanwezig is.

    Wie kan hier iets over vertellen of heeft hier een (simpele) oplossing voor ?

  2. #2
    Je zou Firebase Cloud Messaging (FCM) kunnen gebruiken.
    https://developers.google.com/cloud-messaging/

    Geen idee hoe dat onder Delphi werkt. Ik heb zelf met Android Studio een notification app gemaakt zodat ik vanaf mijn Linux server notifications kan versturen naar mijn telefoon.

    Bij ontvangst van een message kun je natuurlijk gps coördinaten terugsturen naar alle subscribers.

    Makkelijkste oplossing is echter om periodiek de coördinaten naar een centrale database te sturen (met timestamp). Je kunt dan met een simpele php pagina dit opslaan en uitlezen.

  3. #3
    Is er een mogelijkheid om free een beetje data op te slaan/op te halen op internet ?

  4. #4
    volgens mij heeft tms zoiets.

  5. #5
    Ik ben druk aan het zoeken naar "tms" maar begrijp niet waar ik nu precies naar moet zoeken.

  6. #6
    http://www.myclouddata.net/#/home

    ze hebben een gratis tier. Abbo voor een jaar kost 75 euro. https://www.tmssoftware.com/site/myclouddata.asp

  7. #7
    Ik heb nu een gratis tier, maar hoe kan ik hier nu gegevens naar toe zenden en ophalen met Radstudio ?

  8. #8
    documentatie lezen op hun site en dan gebruiken, of een van hun client componenten kopen?

    Ik gebruik het niet, wist alleen dat ze zoiets hadden.

  9. #9
    Ze hebben toch mooie documentatie staan op hun site:
    http://www.myclouddata.net/#/documen.../api-reference

    Zo te zien is dat OAuth2 net als bij Google, Microsoft etc.

    Voor Delphi (en andere talen) hebben ze zelfs kant en klare open source libraries.
    The myCloudData Delphi REST library is an open source library that provides seamless access to the myCloudData.net service. The library enables you to use all features of the myCloudData API without having to deal with any HTTP/JSON related difficulties.
    http://www.myclouddata.net/#/documen.../lib-delphi-os

  10. #10
    Ik heb een account aangemaakt en heb deze code, maar wat ik ook probeer ik kom maar niet ingelogd en de
    test meldingen "Test_1" en "Test_2" verschijnen ook niet.

    Delphi Code:
    1. unit Unit1;
    2.  
    3. interface
    4.  
    5. uses
    6.   System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
    7.   FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
    8.   FMX.Controls.Presentation, FMX.StdCtrls, IPPeerClient, Data.Bind.Components,
    9.   Data.Bind.ObjectScope, REST.Client, REST.TMS.myCloudDataRestClient.Data,
    10.   REST.TMS.myCloudDataRestClient, FMX.TMS.myCloudDataRestClient, FMX.ScrollBox,
    11.   FMX.Memo;
    12.  
    13. type
    14.   TForm1 = class(TForm)
    15.     Button1: TButton;
    16.     FMXmyCloudDataRESTClient1: TFMXmyCloudDataRESTClient;
    17.     Button2: TButton;
    18.     Memo1: TMemo;
    19.     Button4: TButton;
    20.     procedure Button1Click(Sender: TObject);
    21.     procedure FormCreate(Sender: TObject);
    22.     procedure FMXmyCloudDataRESTClient1ConnectedStatusChanged(ASender: TObject;
    23.       const AConnected: Boolean);
    24.     procedure Button2Click(Sender: TObject);
    25.     procedure Button3Click(Sender: TObject);
    26.     procedure Button4Click(Sender: TObject);
    27.   private
    28.     { Private declarations }
    29.     FGPSTable: TmyCloudDataTable;
    30.     procedure GetPositions;
    31.   public
    32.  
    33.  
    34.   public
    35.     { Public declarations }
    36.   end;
    37.  
    38. var
    39.   Form1: TForm1;
    40.  
    41. implementation
    42.  
    43. {$R *.fmx}
    44.  
    45. //------------------------------------------------------------------------------
    46.  
    47. procedure TForm1.FormCreate(Sender: TObject);
    48. begin
    49.  FMXmyCloudDataRESTClient1.PersistTokens.Location := plIniFile;
    50.  FMXmyCloudDataRESTClient1.PersistTokens.Section := 'test_section';
    51.  FMXmyCloudDataRESTClient1.PersistTokens.Key := 'test_key.ini';
    52.  
    53.  FMXmyCloudDataRESTClient1.ClientId := '500f8b23e68793b8fxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    54.  FMXmyCloudDataRESTClient1.ClientSecret := '480f9106e8989ff9fxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    55. end;
    56.  
    57. //------------------------------------------------------------------------------
    58.  
    59. procedure TForm1.Button1Click(Sender: TObject);
    60. begin
    61.  Button1.Visible := False;
    62.  
    63.   try
    64.     //MyCloudData.Connect;
    65.     FMXmyCloudDataRESTClient1.Connect; //Verbinding maken met de Cloud DataBase
    66.   except
    67.     //on E: Exception do
    68.     //  ShowErrorMessage('Failed to connect', E);
    69.     ShowMessage('Inlog probleem ?');
    70.   end;
    71.  
    72.  
    73. end;
    74.  
    75. //------------------------------------------------------------------------------
    76.  
    77. procedure TForm1.Button2Click(Sender: TObject);
    78. begin
    79.  GetPositions;
    80. end;
    81.  
    82.  
    83. //zet je de waardes met SetValue gevolgd door Entities.Save
    84. procedure TForm1.Button4Click(Sender: TObject);
    85. var
    86.   LGPS: TmyCloudDataEntity;
    87. begin
    88.   if FGPSTable <> nil then
    89.   begin
    90.     LGPS := FGPSTable.Entities.CreateEntity;
    91.     LGPS.SetValue('Name', 'This_is_me');
    92.     LGPS.SetValue('DateTime', Now);
    93.     LGPS.SetValue('Latitude', '123.12345');
    94.     LGPS.SetValue('Longitude', '123.12345');
    95.     FGPSTable.Entities.Save;
    96.     // GetPositions;
    97.   end;
    98. end;
    99.  
    100. //------------------------------------------------------------------------------
    101.  
    102.  
    103.  
    104. //De code die in TForm2.FMXmyCloudDataRESTClient1ConnectedStatusChanged() staat
    105. // maakt de database eventueel aan als die niet bestaat en zet de velden die nodig zijn.
    106. //De FGPSTable.Query; haalt tevens alle aanwezige records online binnen om offline te kunnen zien.
    107.  
    108. procedure TForm1.FMXmyCloudDataRESTClient1ConnectedStatusChanged(
    109.   ASender: TObject; const AConnected: Boolean);
    110. begin
    111.   ShowMessage('Test_1');
    112.  
    113.   if AConnected then
    114.   begin
    115.     try
    116.  
    117.       ShowMessage('Test_2');
    118.  
    119.       FGPSTable := FMXmyCloudDataRESTClient1.Tables.GetOrCreateTable('GpsPosities');
    120.  
    121.       FGPSTable.Fields.AddOrUpdate('Name', ftWideString, 50);
    122.       FGPSTable.Fields.AddOrUpdate('DateTime', ftDateTime);
    123.       FGPSTable.Fields.AddOrUpdate('Latitude', ftWideString, 20);
    124.       FGPSTable.Fields.AddOrUpdate('Longitude', ftWideString, 20);
    125.  
    126.       FGPSTable.Fields.Save;
    127.       FGPSTable.Query; // Haalt alle aanwezige records online binnen om offline te kunnen zien.
    128.       // GetPositions;
    129.     except
    130.       on E: Exception do
    131.       begin
    132.         if FGPSTable <> nil then FGPSTable := nil;
    133.         ShowMessage('Failed to initialize contacts table ' + E.Message);
    134.       end;
    135.     end;
    136.   end;
    137. end;
    138.  
    139. //------------------------------------------------------------------------------
    140.  
    141. procedure TForm1.GetPositions;
    142. var
    143.   LGPS: TmyCloudDataEntity;
    144. begin
    145.   if FGPSTable <> nil then
    146.   begin
    147.     Memo1.Lines.Clear;
    148.     for LGPS in FGPSTable.Entities do
    149.     begin
    150.       Memo1.Lines.Add(LGPS.GetValue('Name') + ' ' + DateTimeToStr(LGPS.GetValue('DateTime')));
    151.       Memo1.Lines.Add(LGPS.GetValue('Latitude')); // + ' ' + FloatToStr(LGPS.GetValue('123.456')));
    152.       Memo1.Lines.Add(LGPS.GetValue('Longitude')); // + ' ' + FloatToStr(LGPS.GetValue('LOG')));
    153.     end;
    154.   end;
    155. end;
    156.  
    157.  
    158. //------------------------------------------------------------------------------
    159.  
    160. end.

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
  •