Geolocation

TsgcHTMLComponent_Geolocation — 브라우저 Geolocation API로 기기의 위치를 읽어 서버로 전달합니다. 요청당 한 번 또는 지속적으로, 화면에 보이는 패널 또는 숨김 패널로 동작하며, Delphi, C++ Builder, Lazarus 및 .NET에서 사용할 수 있습니다.

TsgcHTMLComponent_Geolocation

ShowUI와 UpdateMode를 선택하고 WSSend 또는 Action을 설정한 다음 HTML 속성을 읽습니다. 모든 측정값은 geo_lat, geo_lng, geo_accuracy 및 기타 geo_* 필드로 서버에 도착합니다.

컴포넌트 클래스

TsgcHTMLComponent_Geolocation

렌더링

위치 확인 패널 또는 숨김 패널 + 숨김 필드 9개 + 인라인 스크립트

패밀리

폼 및 입력

언어

Delphi, C++ Builder, Lazarus, .NET

백그라운드에서 위치 추적하기

번들로 포함할 라이브러리도, CDN에서 가져올 것도 없습니다. 위치는 브라우저 Geolocation API에서 가져옵니다. 브라우저는 보안 컨텍스트에서만 위치 정보를 제공하므로, 페이지는 HTTPS로 제공하거나 개발 중에는 localhost에서 제공하십시오.

uses
  sgcHTML_Component_Geolocation;

var
  oGeo: TsgcHTMLComponent_Geolocation;
begin
  oGeo := TsgcHTMLComponent_Geolocation.Create(nil);
  try
    oGeo.GeolocationID := 'deliveryGeo';
    oGeo.ShowUI := False;              // 화면에 보이는 패널 없음
    oGeo.UpdateMode := gumContinuous;     // 중지할 때까지 계속 추적
    oGeo.MinIntervalMs := 30000;
    oGeo.MinDistanceMeters := 50;
    oGeo.AutoStart := True;
    oGeo.WSSend := True;               // 모든 측정값을 WebSocket으로 전송

    WebModule.Response := oGeo.HTML;      // 숨김 필드 + 인라인 스크립트
  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;   // 숨김 필드 + 인라인 스크립트
}
__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;   // 숨김 필드 + 인라인 스크립트

주요 속성 및 메서드

가장 자주 사용하게 되는 멤버.

ShowUI

True(기본값)는 위치 확인 버튼, 지속 모드의 중지 버튼, 위도, 경도 및 정확도를 표시하는 상태 줄, 그리고 ShowMapLink의 선택적 OpenStreetMap 링크를 렌더링합니다. False는 화면에 아무것도 렌더링하지 않으므로, 패널은 AutoStart 또는 el.sgcGeoStart()와 el.sgcGeoStop()으로 시작합니다.

UpdateMode

gumOnce(기본값)는 시작할 때마다 측정값을 한 번 전달합니다. gumContinuous는 중지할 때까지 계속 추적하며, MinIntervalMs(기본값 5000)와 MinDistanceMeters(기본값 0)로 빈도가 제한됩니다.

위치 옵션

EnableHighAccuracy(기본값 True), TimeoutMs(기본값 10000) 및 MaximumAgeMs(기본값 0)는 모든 요청과 함께 브라우저에 전달됩니다.

FieldName

기본값이 geo인 숨김 필드 9개의 접두사입니다. 위도, 경도, 정확도, 고도, 고도 정확도, 방향, 속도, 타임스탬프 및 geo_error.

WSSend / Action / RedirectURL

모든 측정값을 sgc WebSocket으로 전송하거나, Action으로 POST하거나, 위치를 쿼리 문자열에 담아 RedirectURL로 이동할 수 있습니다. TargetSelector는 lat,lng를 페이지의 다른 요소에 기록합니다.

오류

geo_error는 permission_denied, position_unavailable, timeout, insecure_context 또는 not_supported를 보고합니다. 모든 측정값마다 sgcGeolocation:position DOM 이벤트가 발생합니다.

계속 살펴보기

온라인 도움말이 컴포넌트의 전체 API 참조 및 사용 가이드입니다.
모든 sgcHTML 컴포넌트80개 이상의 컴포넌트 전체 기능 매트릭스를 둘러보십시오.
무료 체험판 다운로드30일 체험판에는 60.HTML 데모 프로젝트가 포함됩니다.
가격전체 소스 코드가 포함된 Single, Team 및 Site 라이선스.
최고의 가성비: All-Access모든 eSeGeCe 제품과 프리미엄 지원이 포함되어 연 €1,059부터 이용할 수 있어요.
All-Access 가격 보기

시작할 준비가 되셨습니까?

무료 체험판을 다운로드하고 Delphi, C++ Builder 및 .NET에서 웹 UI를 구축하기 시작하십시오.