Geolocation

TsgcHTMLComponent_Geolocation lee la posición del dispositivo con la API de geolocalización del navegador y la entrega al servidor, una vez por solicitud o de forma continua, desde un panel visible o desde uno oculto, en Delphi, C++ Builder, Lazarus y .NET.

TsgcHTMLComponent_Geolocation

Elige ShowUI y UpdateMode, define WSSend o Action y luego lee la propiedad HTML. Cada lectura llega al servidor como geo_lat, geo_lng, geo_accuracy y el resto de campos geo_*.

Clase del componente

TsgcHTMLComponent_Geolocation

Genera

Panel de localización o panel oculto + nueve campos ocultos + script en línea

Lenguajes

Delphi, C++ Builder, Lazarus, .NET

Sigue una posición en segundo plano

Sin biblioteca que empaquetar y nada que traer de un CDN: la posición procede de la API de geolocalización del navegador. Sirve la página por HTTPS, o desde localhost durante el desarrollo, porque los navegadores solo exponen la geolocalización en un contexto seguro.

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

Propiedades y métodos clave

Los miembros que más vas a usar.

ShowUI

True (por defecto) renderiza un botón Localizar, un botón Detener en modo continuo, una línea de estado con latitud, longitud y precisión, y el enlace opcional a OpenStreetMap de ShowMapLink. False no renderiza nada visible, de modo que el panel arranca desde AutoStart o desde el.sgcGeoStart() y el.sgcGeoStop().

UpdateMode

gumOnce (por defecto) entrega una lectura por arranque. gumContinuous sigue vigilando hasta que se detiene, limitado por MinIntervalMs (por defecto 5000) y MinDistanceMeters (por defecto 0).

Opciones de posición

EnableHighAccuracy (por defecto True), TimeoutMs (por defecto 10000) y MaximumAgeMs (por defecto 0) se pasan al navegador en cada solicitud.

FieldName

Prefijo de los nueve campos ocultos, por defecto geo: latitud, longitud, precisión, altitud, precisión de la altitud, rumbo, velocidad, marca de tiempo y geo_error.

WSSend / Action / RedirectURL

Envía cada lectura por el WebSocket de sgc, la publica mediante POST en Action, o navega a RedirectURL con la posición en la cadena de consulta. TargetSelector escribe lat,lng en otro elemento de la página.

Errores

geo_error informa permission_denied, position_unavailable, timeout, insecure_context o not_supported. En cada lectura se dispara un evento DOM sgcGeolocation:position.

Sigue explorando

Ayuda en líneaReferencia completa de la API y guía de uso para este componente.
Todos los componentes de sgcHTMLExplora la matriz completa de más de 80 componentes.
Descargar prueba gratuitaLa prueba de 30 días incluye los proyectos de demostración 60.HTML.
PreciosLicencias Single, Team y Site con código fuente completo.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para empezar?

Descarga la prueba gratuita y añade geolocalización a tu aplicación web en Delphi, C++ Builder o .NET.