Geolocation

TsgcHTMLComponent_Geolocation lit la position de l'appareil avec l'API Geolocation du navigateur et la transmet au serveur, une fois par requête ou en continu, depuis un panneau visible ou masqué, en Delphi, C++ Builder, Lazarus et .NET.

TsgcHTMLComponent_Geolocation

Choisissez ShowUI et UpdateMode, définissez WSSend ou Action, puis lisez la propriété HTML. Chaque lecture arrive sur le serveur sous la forme de geo_lat, geo_lng, geo_accuracy et des autres champs geo_*.

Classe du composant

TsgcHTMLComponent_Geolocation

Produit

Panneau de localisation ou panneau masqué + neuf champs cachés + script en ligne

Langages

Delphi, C++ Builder, Lazarus, .NET

Suivez une position en arrière-plan

Aucune bibliothèque à empaqueter et rien à charger depuis un CDN : la position provient de l'API Geolocation du navigateur. Servez la page en HTTPS, ou depuis localhost pendant le développement, car les navigateurs n'exposent la géolocalisation que dans un contexte sécurisé.

uses
  sgcHTML_Component_Geolocation;

var
  oGeo: TsgcHTMLComponent_Geolocation;
begin
  oGeo := TsgcHTMLComponent_Geolocation.Create(nil);
  try
    oGeo.GeolocationID := 'deliveryGeo';
    oGeo.ShowUI := False;              // no visible panel
    oGeo.UpdateMode := gumContinuous;     // keep watching until stopped
    oGeo.MinIntervalMs := 30000;
    oGeo.MinDistanceMeters := 50;
    oGeo.AutoStart := True;
    oGeo.WSSend := True;               // push every reading over WebSocket

    WebModule.Response := oGeo.HTML;      // hidden fields + inline script
  finally
    oGeo.Free;
  end;
end;
// includes: sgcHTML_Component_Geolocation.hpp

TsgcHTMLComponent_Geolocation *oGeo = new TsgcHTMLComponent_Geolocation(NULL);
try
{
  oGeo->GeolocationID = "deliveryGeo";
  oGeo->ShowUI = false;
  oGeo->UpdateMode = gumContinuous;
  oGeo->MinIntervalMs = 30000;
  oGeo->MinDistanceMeters = 50;
  oGeo->AutoStart = true;
  oGeo->WSSend = true;

  String html = oGeo->HTML;   // hidden fields + inline script
}
__finally
{
  delete oGeo;
}
using esegece.sgcWebSockets;

var geo = new TsgcHTMLComponent_Geolocation();
geo.GeolocationID = "deliveryGeo";
geo.ShowUI = false;
geo.UpdateMode = TsgcHTMLGeolocationUpdateMode.gumContinuous;
geo.MinIntervalMs = 30000;
geo.MinDistanceMeters = 50;
geo.AutoStart = true;
geo.WSSend = true;

string html = geo.HTML;   // hidden fields + inline script

Propriétés & méthodes clés

Les membres que vous utilisez le plus souvent.

ShowUI

True (par défaut) affiche un bouton Localiser, un bouton Arrêter en mode continu, une ligne d'état avec latitude, longitude et précision, ainsi que le lien OpenStreetMap facultatif de ShowMapLink. False n'affiche rien de visible : le panneau démarre alors avec AutoStart ou avec el.sgcGeoStart() et el.sgcGeoStop().

UpdateMode

gumOnce (par défaut) fournit une lecture par démarrage. gumContinuous surveille la position jusqu'à l'arrêt, limité par MinIntervalMs (5000 par défaut) et MinDistanceMeters (0 par défaut).

Options de position

EnableHighAccuracy (True par défaut), TimeoutMs (10000 par défaut) et MaximumAgeMs (0 par défaut) sont transmis au navigateur à chaque requête.

FieldName

Préfixe des neuf champs cachés, geo par défaut : latitude, longitude, précision, altitude, précision de l'altitude, cap, vitesse, horodatage et geo_error.

WSSend / Action / RedirectURL

Poussez chaque lecture via le WebSocket sgc, envoyez-la en POST vers Action, ou naviguez vers RedirectURL avec la position dans la chaîne de requête. TargetSelector écrit lat,lng dans un autre élément de la page.

Erreurs

geo_error signale permission_denied, position_unavailable, timeout, insecure_context ou not_supported. Un événement DOM sgcGeolocation:position est déclenché à chaque lecture.

Continuez l'exploration

Aide en ligneRéférence API complète et guide d'utilisation pour ce composant.
Tous les composants sgcHTMLParcourez la matrice complète des fonctionnalités de plus de 80 composants.
Télécharger la version d'essai gratuiteLa version d'essai de 30 jours fournit les projets de démonstration 60.HTML.
TarifsLicences Single, Team et Site avec code source complet.
Meilleur rapport qualité-prix : All-AccessTous les produits eSeGeCe, Support Premium inclus, à partir de €1,059/an.
Voir les tarifs All-Access

Prêt à démarrer ?

Téléchargez la version d'essai gratuite et commencez à créer des interfaces web en Delphi, C++ Builder et .NET.