¿ø¹®: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
|