±ÍÇÏ´Â ¼Õ´Ô À̽ʴϴÙ
·Î±×ÀÎ
ȸ¿ø°¡ÀÔ
  
  µ¨¸¶´ç °ø½Ä ÀºÇà°èÁÂ
  ÇϳªÀºÇà 227-910235-83607
  ¿¹±ÝÁÖ ÀÌ»ó±¹(¿î¿µÁø)
ÇÁ·ÎÁ§Æ® °Ô½ÃÆÇ
ÅõÇ¥°Ô½ÃÆÇ
µ¨¸¶´ç¼Ò°³
±âÃʺÎÅÍ È°¿ë±îÁö! µ¨ÆÄÀÌ ±³À° - µ¥ºê±â¾î
ÀÚ·á½Ç ÀÚ·á½Ç ÀÔ´Ï´Ù.
±Û³»¿ë - ÀÚ·á½Ç
 [Delphi]°ø°£Á¤º¸¿ÀÇÂÇ÷§Æû ºêÀÌ¿ùµå3Dµ¥½ºÅ©Åé ¸¸µé±â-Base
È«¼º¶ô
(È«¼º¶ô)
2018-06-18 ¿ÀÈÄ 5:13:27
3002ȸ Á¶È¸


÷ºÎÆÄÀÏ ´Ù¿î·Îµå
WORLD_Pro_Base(1).zip
¿ø¹®:http://cafe.naver.com/gisapplication/968

[Delphi]°ø°£Á¤º¸ ¿ÀÇÂÇ÷§Æû ºêÀÌ¿ùµå 3D µ¥½ºÅ©Åé ¸¸µé±â - Base
µ¨ÆÄÀÌ ¾ð¾î·Î ºêÀÌ¿ùµå 3D Open API¸¦ »ç¿ëÇÏ¿© µ¥½ºÅ©Åé ÇÁ·Î±×·¥ ¸¸µé±â ±âÃÊÀÔ´Ï´Ù. 
"ºêÀÌ¿ùµå 3D µ¥½ºÅ©Åé API´Â µ¥½ºÅ©Åé ¼­ºñ½º·Î¸¸ Á¦°øµÇ´ø µ¥½ºÅ©ÅéÀÇ ±â´ÉÀ» »ç¿ëÀÚ°¡ ¿øÇϴ ÇüÅ·ΠȰ¿ëÇÒ ¼ö ÀÖµµ·Ï Çϴ C/S¿ë Ç÷§ÆûÀÔ´Ï´Ù."

* ¿¹Á¦ °øÀ¯ ¸ñÀû
1. ±âÁ¸ "°ø°£Á¤º¸ ¿ÀÇÂÇ÷§Æû ºêÀÌ¿ùµå 3Dµ¥½ºÅ©Åé API ·¹ÆÛ·±½º"¿¡´Â
    - C#À¸·Î¸¸ ¿¹Á¦°¡ À־, ´Ù¸¥ ¾ð¾î Æ¯È÷ µ¨ÆÄÀ̳ª C++, º£ÀÌÁ÷ µî ¿¡¼­ È°¿ëÇÑ ¿¹°¡ ¾ø¾î ¾î·Á¿ò.
    - ±âÁ¸ À¥Çü½Ä APIÀΠjavaScript¹öÁ¯°ú »óÀÌÇÏ¿© º°µµ·Î ¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇÏ°í ÇÔ¼ö¸¦ ÀÍÇô¾ß ÇÔ.
2. µû¶ó¼­, Å¸¾ð¾îÀÇ °³¹ßÀڴ ºêÀÌ¿ùµå 3D µ¥½ºÅ©Å¾À» ¸¸µé±â À§ÇØ "ºêÀÌ¿ùµå 3DÁöµµ API Ç÷¯±×ÀÎ"À» ¼³Ä¡
   ÇÏ°í, À¥ºê·Î¿ìÁ® ÄÄÆ÷³ÍÆ®¿¡ ±âÁ¸ À¥Çü½Ä APIÀΠjavaScript¹öÁ¯À» ÄÚµùÇÏ¿© ¿¬µ¿ÇÏ¿´½À´Ï´Ù.
   ½Ã½ºÅÛÀÌ ºÒ¾ÈÁ¤Çß°í µ¥½ºÅ©Å¾¿¡¼­ ÀÚ¹Ù½ºÅ©¸³À¸·Î ¸í·ÉÀ» ¼­·Î ¿¬µ¿ÇÏ´À¶ó ¹ÝÀÀ ¼Óµµ³ª µðÅÚÀÏÇÑ ¸í·ÉÀ» 
   ³»¸®±â ¾î·Á¿ü´Ù.

±×·¡¼­ À̹ø ¿¹Á¦´Â µ¨ÆÄÀ̷Π ºêÀÌ¿ùµå3D API javaScript¹öÁ¯ÀΠÇ÷¯±×Àθ¸À» »ç¿ëÇÏ¿© µ¥½ºÅ©Åé ÇÁ·Î±×·¥À» ¸¸µå´Â ¿¹Á¦À» ¿Ã·È½À´Ï´Ù.
ºêÀÌ¿ùµå3D Ç÷¯±×¸¸ ¼³Ä¡(º°µµ µ¥½ºÅ©Å¾¿ë ¶óÀ̺귯¸® ¼³Ä¡ ºÒÇÊ¿ä, ºêÀÌ¿ùµå À¥¹öÁ¯¸¸ Çѹø¸¸ ½ÇÇàÇصµ À¥ Ç÷¯±×ÀÎÀ» ¼³Ä¡ÇÔ)ÇÏ°í Ã·ºÎÆÄÀÏÀ» ±â¹ÝÀ¸·Î ÄÚµùÇϸ頵˴ϴÙ. ÇÏ´Ü ¼Ò½º¿¡¼­´Â ÀϹݠ¾ð¾î¿¡¼­ Ç÷¯±×Àθ¸ »ç¿ëÇϱâ À§ÇÑ ¸î°¡Áö Á¦ÇÑÀ» ÇØ°áÇϱ⸸ Çϸ頵˴ϴÙ. 


unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics,
  Controls, Forms, Dialogs, OleCtrls, ExtCtrls,
  XDWORLDPLUGINLib_TLB, ComCtrls, StdCtrls;

type
  TForm_Main = class(TForm)
    Panel_Map: TPanel;
    Panel_Menu: TPanel;
    Timer_MapInit: TTimer;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Timer_MapInitTimer(Sender: TObject);
    procedure CheckBox4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    XDWorld_COM: TXDWorldCOM;

    procedure MyExceptionHandler(Sender : TObject; E : Exception );
  end;

var
  Form_Main: TForm_Main;

implementation

{$R *.dfm}

procedure TForm_Main.FormCreate(Sender: TObject);
begin

  //ºêÀÌ¿ùµå3D Ç÷¯±×ÀÎÀÇ °áÇÔÀÌÁö´Â ¸ô¶óµµ "external exception"¿¡·¯ ¹ß»ý½Ã Ã¢À» ¶ç¿ö ¸ØÃߴ »óŸ¦ Á¦ÇÑÇϱâ À§ÇØ

     ¸Þ¼¼Áö À̺¥Æ®¸¦ ³»ÇÔ¼ö·Î »©¾Ñ´Â´Ù
  Application.OnException := MyExceptionHandler; //¿¡·¯Ã¢ Á¦°Å
end;

procedure TForm_Main.FormShow(Sender: TObject);
begin

  //Ç÷¯±×ÀÎÀÇ 3DÁöµµ ÄÄÆ÷³ÍÆ®¸¦ µ¿ÀûÀ¸·Î »ý¼ºÇؾߠÇÕ´Ï´Ù. 
  XDWorld_COM := TXDWorldCOM.Create(nil);
  XDWorld_COM.Parent := Panel_Map;
  XDWorld_COM.Align := alClient;

  //ºêÀÌ¿ùµå3D ¼­ºñ½º URLÀ» ÁöÁ¤
  XDWorld_COM.SetServerURL('xdworld.vworld.kr:8080');

  //±âº» ·¹À̾®½ºÆ®
  XDWorld_COM.SetServerLayerURL('xdworld.vworld.kr:8080', 'facility_build');
  ////XDWorld_COM.SetServerLayerURL('xdworld.vworld.kr:8080', 'hybrid_road');
  XDWorld_COM.SetServerLayerURL('xdworld.vworld.kr:8080', 'hybrid_bound');
  ////XDWorld_COM.SetServerLayerURL('xdworld.vworld.kr:8080', 'poi_base');
  XDWorld_COM.SetServerLayerURL('xdworld.vworld.kr:8080', 'poi_bound');
  XDWorld_COM.SetServerLayerURL('xdworld.vworld.kr:8080', 'poi_road');

  XDWorld_COM.getView.mapReset;


  Timer_MapInit.Enabled := true;
end;

procedure TForm_Main.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  //
end;
//********************************************************************************
procedure TForm_Main.Timer_MapInitTimer(Sender: TObject);
begin
  Timer_MapInit.Enabled := false;

  XDWorld_COM.getViewCamera.moveLonLatAlt(126.9779692, 37.566535, 1000);
end;

procedure TForm_Main.MyExceptionHandler(Sender:TObject;E:Exception);
begin
    //Do nothing
end;
//********************************************************************************
procedure TForm_Main.CheckBox4Click(Sender: TObject);
var
  ON_OFF:integer;
begin
  if(TCheckBox(Sender).Checked)then ON_OFF := XDWorld_COM.SOPVISIBLE_ON
  else ON_OFF := XDWorld_COM.SOPVISIBLE_OFF;

  if( TCheckBox(Sender).Name = 'CheckBox1')then
     XDWorld_COM.getLayerList.setVisible('facility_build', ON_OFF)
  else if( TCheckBox(Sender).Name = 'CheckBox2')then
     XDWorld_COM.getLayerList.setVisible('hybrid_bound', ON_OFF)
  else if( TCheckBox(Sender).Name = 'CheckBox3')then
     XDWorld_COM.getLayerList.setVisible('poi_bound', ON_OFF)
  else if( TCheckBox(Sender).Name = 'CheckBox4')then
     XDWorld_COM.getLayerList.setVisible('poi_road', ON_OFF);
end;


* È°¿ëÈ­¸é : [GIS Â÷·® À§Ä¡Á¤º¸ °üÁ¦½Ã½ºÅÛ] http://cafe.naver.com/gisapplication/953