Geolocation

TsgcHTMLComponent_Geolocation, cihazın konumunu tarayıcının Geolocation API'si ile okur ve sunucuya iletir. Bunu istek başına bir kez veya sürekli olarak, görünür ya da gizli bir panelden yapar; Delphi, C++ Builder, Lazarus ve .NET'te kullanılabilir.

TsgcHTMLComponent_Geolocation

ShowUI ve UpdateMode değerlerini seçin, WSSend veya Action ayarlayın, ardından HTML özelliğini okuyun. Her okuma sunucuya geo_lat, geo_lng, geo_accuracy ve diğer geo_* alanları olarak ulaşır.

Bileşen sınıfı

TsgcHTMLComponent_Geolocation

İşler

Konum bul paneli veya gizli panel + dokuz gizli alan + satır içi betik

Diller

Delphi, C++ Builder, Lazarus, .NET

Konumu arka planda izleyin

Paketlenecek bir kitaplık yok, bir CDN'den çekilen hiçbir şey yok: konum tarayıcının Geolocation API'sinden gelir. Tarayıcılar konumu yalnızca güvenli bağlamda sunduğundan, sayfayı HTTPS üzerinden veya geliştirme sırasında localhost'tan sunun.

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

Temel özellikler & yöntemler

En sık başvurduğunuz üyeler.

ShowUI

True (varsayılan) bir Konum bul düğmesi, sürekli modda bir Durdur düğmesi, enlem, boylam ve doğruluk içeren bir durum satırı ve ShowMapLink ile isteğe bağlı OpenStreetMap bağlantısı üretir. False görünür hiçbir şey üretmez; panel AutoStart ile veya el.sgcGeoStart() ve el.sgcGeoStop() ile başlatılır.

UpdateMode

gumOnce (varsayılan) her başlatmada bir okuma iletir. gumContinuous durdurulana kadar izlemeye devam eder; MinIntervalMs (varsayılan 5000) ve MinDistanceMeters (varsayılan 0) ile sınırlandırılır.

Konum seçenekleri

EnableHighAccuracy (varsayılan True), TimeoutMs (varsayılan 10000) ve MaximumAgeMs (varsayılan 0) her istekte tarayıcıya iletilir.

FieldName

Dokuz gizli alanın öneki, varsayılan geo: enlem, boylam, doğruluk, rakım, rakım doğruluğu, yön, hız, zaman damgası ve geo_error.

WSSend / Action / RedirectURL

Her okumayı sgc WebSocket üzerinden gönderir, Action adresine POST eder veya konumu sorgu dizesinde taşıyarak RedirectURL adresine yönlendirir. TargetSelector, lat,lng değerini sayfadaki başka bir öğeye yazar.

Hatalar

geo_error; permission_denied, position_unavailable, timeout, insecure_context veya not_supported değerlerini bildirir. Her okumada bir sgcGeolocation:position DOM olayı tetiklenir.

Keşfetmeye devam edin

Çevrimiçi yardımBu bileşen için tam API referansı ve kullanım kılavuzu.
Tüm sgcHTML Bileşenleri80'den fazla bileşenin tam özellik matrisine göz atın.
Ücretsiz Deneme Sürümünü İndirin30 günlük deneme, 60.HTML demo projeleriyle birlikte gelir.
FiyatlandırmaTam kaynak kodlu Single, Team ve Site lisansları.
En avantajlı seçenek: All-AccessTüm eSeGeCe ürünleri, Premium Destek dahil, yılda €1,059'dan itibaren.
All-Access fiyatlarına bakın

Başlamaya Hazır mısınız?

Ücretsiz deneme sürümünü indirin ve Delphi, C++ Builder ve .NET'te web arayüzleri oluşturmaya başlayın.