<< Click to Display Table of Contents >>
<說明>
在本範例中,我們將示範如何將以向量式圖磚輸出之點向量圖,套疊於您所建立之圖台的展示方法,說明如下:
<範例>
var earth_ = null;
function documentLoad() { SuperGIS.Initialize("/ServerGate/", function () { SuperGIS.ServerEarth.Initialize(InitEarth); }); }
function InitEarth() { var pBody = new SuperGIS.Windows.HTMLContainer(document.body);
var sHost = location.href; var idx = sHost.indexOf("/", 8); if (idx >= 0) sHost = sHost.substring(0, idx); CreateHTML5Earth(pBody, function (pEarth) { EarthLoaded(pEarth); });
function EarthLoaded(pEarth) { earth_ = pEarth; pEarth.Scene.BackgroundColor = pEarth.CreateColor(0, 0, 0, 1); pEarth.SetupSystem(true, s_WGS84); pEarth.SetupSkin(pEarth.CreateEnvelope(-180, 180, -90, 90, s_WGS84), sHost + "/ServerGate/Skin1.jpg"); pEarth.MajorGraticule.Visible = false; pEarth.MinorGraticule.Visible = false;
// 指定向量磚服務的 WMTS 網址, 欲加入的圖層名稱, 及 callback function 名稱 VLayer = new SuperGIS.VectorLayer(getDataServicePath() + '3dtest_PointRN/SimpleWMTS.aspx', pEarth, { layer: 'Point_RN' }, PointFinish);
pEarth.SetViewpoint(120.288, 22.617, 500, 0, 50, true); }
// 在 callback 中設定每個 feature 的符號樣式 function PointFinish(array) { var rv = 255, gv = 0, bv = 0; for (var i = 0; i < array.length; i++) { var mark = array[i]; var fc = earth_.CreateColor(rv / 255.0, gv / 255.0, bv / 255.0, 1); mark.ReplaceZ = 100; // 設定高程 (公尺)
// 基本上在 3D 環境中, 無法以點 (Pixel) 的方式呈現物件, 故 CreateSimpleDDDPointSymbol 的結果是看不到東西, // 但可以搭配 ExtrudeSymbol 的設定來展示拉線的效果 mark.DDDSymbol = earth_.CreateSimpleDDDPointSymbol(earth_.CreateModelMaterial(0, fc)); //mark.AltitudeMode = SuperGIS.DDDEarth.AltitudeMode.Absolute; //mark.DDDSymbol = earth_.CreateMarkerSymbol(earth_.CreateModelMaterial(0, earth_.CreateColor(1, 1, 0, 1.0)), // earth_.CreateModelTexture("http://192.168.1.134/ServerGate/marker2.png"), // earth_.CreateVector2(0.5, 0, SuperGIS.DDDCore.VectorUnits.Proportion, SuperGIS.DDDCore.VectorUnits.Proportion));
mark.ExtrudeSymbol = earth_.CreateSimpleDDDLineSymbol(earth_.CreateModelMaterial(0, fc)); mark.DDDSymbol.Size = 32; } } }
|
© 2017 Supergeo Technologies Inc.