疊加授權式服務
疊加授權式服務
在TGOS「地圖服務發布共用平台」中,加盟節點使用者可上傳自有圖資發布服務,並可選擇服務使用是否需要授權。授權式服務的使用需要經過帳號密碼的驗證,取得服務位址的使用者,必須由發布的加盟節點使用者給予帳號密碼,方可順利接取服務。在「地圖服務發布共用平台」中,提供服務發布的種類共有WMS、WFS、KML三種,若該服務為授權式,則在一般的方法介接外,需要透過額外的代理程式js檔,輸入IIS表單驗證的內容,才可透過網頁應用程式使用。在此說明中,以WMS服務接取作為說明,利用TGOS 3D API (Web)中的TEWmsLayer類別,疊加「地圖服務發布共用平台」發布的授權式服務。注意:附件所附的WMSLayer.js檔,必須與網頁應用程式放置於相同目錄下,WFS、KML之使用,則需另外仿照WMSLayer.js撰寫驗證代理程式。
<html>
<head>
<meta http-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>疊加授權式WMS服務</title>
<script type="text/javascript"src="http://3dapi.tgos.tw/TG3D_API/TGOS3D?ver=1&AppID=yourID&APIKey=yourkey"charset="utf-8"></script>
<!--下載後請將yourID及yourkey取代為您申請所取得的APPID及APIKEY方能正確顯示服務-->
<script type="text/javascript"src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript"src="WMSLayer.js" charset="utf-8"></script>
<script type="text/javascript">
var tg3dEarth; //建立空物件, 準備指定為圖台物件
function InitWnd() {
var pBody = document.getElementById("TGMap"); //取得圖台物件放置的DIV容器
tg3dEarth = newTGOS.TEOnlineMap(pBody, { //建立圖台
viewpoint: newTGOS.TEViewpoint(121.32423,24.43234, 150000, 0, 0) //指定圖抬初始化視點位置
});
}
function WmsLayerClick(){
var url = document.getElementById('wmsUrl').value; //從WmsUrl文字框中取得WMS服務位址
var wms = newTGOS.TEWmsLayer(url,{ //建立WMS圖層物件
user: document.getElementById('useUser').value, //從useUser文字框中取得帳號
pass: document.getElementById('usePass').value, //從usePass文字框中取得密碼
map:tg3dEarth //繪製WMS圖層物件的圖台物件
});
}
</script>
</head>
<body style="margin:0px"onload="InitWnd();">
<div id="TGMap" style="width: 800pt; height: 500pt; border: 1px solid #C0C0C0;"> </div>
<input id="wmsUrl" type="text"size="80"value="http://ogcmap.tgos.tw/TGOS_UserServices/26629/TEST01/SimpleWMS.aspx"/><br/>
<!--在wmsUrl文字框中預設輸入地圖共用發布平台所發布的服務及各項WMS參數-->
帳號 :<input id="useUser"type="text" value="supergeo"/><br />
密碼 :<input id="usePass"type="text"value="12949916"/><br />
<!--建立輸入帳號密碼的文字框,在此預設填入正確的帳號密碼-->
<input type="button" value="疊加WMS"onclick="WmsLayerClick();">
</body>
</html>