Geolocation

TsgcHTMLComponent_Geolocation liest die Position des Geräts mit der Geolocation-API des Browsers und übermittelt sie an den Server, einmalig pro Anfrage oder fortlaufend, über ein sichtbares oder ein verstecktes Panel, in Delphi, C++ Builder, Lazarus und .NET.

TsgcHTMLComponent_Geolocation

Wählen Sie ShowUI und UpdateMode, setzen Sie WSSend oder Action und lesen Sie dann die HTML-Eigenschaft. Jede Messung erreicht den Server als geo_lat, geo_lng, geo_accuracy und die übrigen geo_*-Felder.

Komponentenklasse

TsgcHTMLComponent_Geolocation

Rendert

Ortungspanel oder verstecktes Panel + neun versteckte Felder + Inline-Skript

Sprachen

Delphi, C++ Builder, Lazarus, .NET

Position im Hintergrund verfolgen

Keine Bibliothek zum Bündeln und nichts, was von einem CDN geladen wird: Die Position stammt aus der Geolocation-API des Browsers. Liefern Sie die Seite über HTTPS aus, während der Entwicklung auch von localhost, da Browser die Geolocation nur in einem sicheren Kontext bereitstellen.

uses
  sgcHTML_Component_Geolocation;

var
  oGeo: TsgcHTMLComponent_Geolocation;
begin
  oGeo := TsgcHTMLComponent_Geolocation.Create(nil);
  try
    oGeo.GeolocationID := 'deliveryGeo';
    oGeo.ShowUI := False;              // kein sichtbares Panel
    oGeo.UpdateMode := gumContinuous;     // weiter beobachten, bis gestoppt
    oGeo.MinIntervalMs := 30000;
    oGeo.MinDistanceMeters := 50;
    oGeo.AutoStart := True;
    oGeo.WSSend := True;               // jede Messung per WebSocket senden

    WebModule.Response := oGeo.HTML;      // versteckte Felder + Inline-Skript
  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;   // versteckte Felder + Inline-Skript
}
__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;   // versteckte Felder + Inline-Skript

Wichtige Eigenschaften & Methoden

Die Member, die Sie am häufigsten verwenden.

ShowUI

True (Standard) rendert einen Orten-Button, im fortlaufenden Modus einen Stopp-Button, eine Statuszeile mit Breitengrad, Längengrad und Genauigkeit sowie den optionalen OpenStreetMap-Link von ShowMapLink. False rendert nichts Sichtbares, das Panel startet dann über AutoStart oder über el.sgcGeoStart() und el.sgcGeoStop().

UpdateMode

gumOnce (Standard) liefert pro Start eine Messung. gumContinuous beobachtet weiter, bis gestoppt wird, gedrosselt durch MinIntervalMs (Standard 5000) und MinDistanceMeters (Standard 0).

Positionsoptionen

EnableHighAccuracy (Standard True), TimeoutMs (Standard 10000) und MaximumAgeMs (Standard 0) werden bei jeder Anfrage an den Browser übergeben.

FieldName

Präfix der neun versteckten Felder, Standard geo: Breitengrad, Längengrad, Genauigkeit, Höhe, Höhengenauigkeit, Richtung, Geschwindigkeit, Zeitstempel und geo_error.

WSSend / Action / RedirectURL

Senden Sie jede Messung über den sgc-WebSocket, per POST an Action, oder navigieren Sie mit der Position im Query-String zu RedirectURL. TargetSelector schreibt lat,lng in ein anderes Element der Seite.

Fehler

geo_error meldet permission_denied, position_unavailable, timeout, insecure_context or not_supported. Bei jeder Messung wird ein sgcGeolocation:position-DOM-Ereignis ausgelöst.

Weiter entdecken

Online-HilfeVollständige API-Referenz und Verwendungshandbuch für diese Komponente.
Alle sgcHTML-KomponentenDurchsuchen Sie die vollständige Funktionsmatrix von über 80 Komponenten.
Kostenlose Testversion herunterladenDie 30-Tage-Testversion enthält die 60.HTML-Demoprojekte.
PreiseSingle-, Team- und Site-Lizenzen mit vollständigem Quellcode.
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Bereit loszulegen?

Laden Sie die kostenlose Testversion herunter und beginnen Sie, Web-UIs in Delphi, C++ Builder und .NET zu erstellen.