Geolocation

TsgcHTMLComponent_Geolocation legge la posizione del dispositivo con la Geolocation API del browser e la consegna al server, una volta per richiesta o in modo continuo, da un pannello visibile o nascosto, in Delphi, C++ Builder, Lazarus e .NET.

TsgcHTMLComponent_Geolocation

Scegli ShowUI e UpdateMode, imposta WSSend o Action, quindi leggi la proprietà HTML. Ogni lettura arriva al server come geo_lat, geo_lng, geo_accuracy e gli altri campi geo_*.

Classe del componente

TsgcHTMLComponent_Geolocation

Renderizza

Pannello di localizzazione o pannello nascosto + nove campi nascosti + script inline

Famiglia

Moduli e Campi

Linguaggi

Delphi, C++ Builder, Lazarus, .NET

Segui una posizione in background

Nessuna libreria da includere e nulla scaricato da un CDN: la posizione proviene dalla Geolocation API del browser. Servi la pagina tramite HTTPS, oppure da localhost durante lo sviluppo, perché i browser espongono la geolocalizzazione solo in un contesto sicuro.

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

Proprietà e metodi principali

I membri che utilizzerai più spesso.

ShowUI

True (predefinito) renderizza un pulsante Localizza, un pulsante Stop in modalità continua, una riga di stato con latitudine, longitudine e precisione, e il collegamento opzionale a OpenStreetMap di ShowMapLink. False non renderizza nulla di visibile, quindi il pannello parte da AutoStart oppure da el.sgcGeoStart() e el.sgcGeoStop().

UpdateMode

gumOnce (predefinito) consegna una lettura per ogni avvio. gumContinuous continua a monitorare fino all’arresto, limitato da MinIntervalMs (predefinito 5000) e MinDistanceMeters (predefinito 0).

Opzioni di posizione

EnableHighAccuracy (predefinito True), TimeoutMs (predefinito 10000) e MaximumAgeMs (predefinito 0) vengono passati al browser a ogni richiesta.

FieldName

Prefisso dei nove campi nascosti, predefinito geo: latitudine, longitudine, precisione, altitudine, precisione dell’altitudine, direzione, velocità, timestamp e geo_error.

WSSend / Action / RedirectURL

Invia ogni lettura tramite il WebSocket sgc, con POST a Action, oppure naviga a RedirectURL con la posizione nella query string. TargetSelector scrive lat,lng in un altro elemento della pagina.

Errori

geo_error segnala permission_denied, position_unavailable, timeout, insecure_context o not_supported. A ogni lettura viene generato un evento DOM sgcGeolocation:position.

Continua a esplorare

Guida in lineaRiferimento API completo e guida all’uso per questo componente.
Tutti i componenti sgcHTMLEsplora la matrice completa delle funzionalità di oltre 80 componenti.
Scarica la Prova GratuitaLa prova di 30 giorni include i progetti demo 60.HTML.
PrezziLicenze Single, Team e Site con codice sorgente completo.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Pronto a Iniziare?

Scarica la versione di prova gratuita e inizia a creare interfacce web in Delphi, C++ Builder e .NET.