疊加授權式服務
疊加授權式服務
疊加授權式服務
在TGOS「地圖服務發布共用平台」中,加盟節點使用者可上傳自有圖資發布服務,並可選擇服務使用是否需要授權。授權式服務的使用需要經過帳號密碼的驗證,取得服務位址的使用者,必須由發布的加盟節點使用者給予帳號密碼,方可順利接取服務。在「地圖服務發布共用平台」中,提供服務發布的種類共有WMS、WFS、KML三種,若該服務為授權式,則在一般的方法介接外,需要透過額外的代理程式js檔,輸入IIS表單驗證的內容,才可透過網頁應用程式使用。在此說明中,以WMS服務接取作為說明,利用TGOS MAP API (Web)中的TGWmsLayer類別,疊加「地圖服務發布共用平台」發布的授權式服務。注意:附件所附的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://api.tgos.tw/TGOS_API/tgos?ver=2&AppID=yourID&APIKey=yourKey"charset="utf-8"></script>
<!--下載後請將yourID及yourkey取代為您申請所取得的APPID及APIKEY方能正確顯示服務-->
<script type="text/javascript"src="/TGOS_MAP_API/Web/Sample_Codes/TGOSMapAPI/QuickExample/PaaSAuthorize/WMSLayer.js" charset="utf-8"></script>
<script type="text/javascript">
var pMap = null;
var WMSLayer = new Array(); //宣告一個空的變數, 準備承接WMS物件使用
function InitWnd() //初始化地圖
{
var pOMap = document.getElementById("OMap"); //取得地圖容器DIV
var mapOptions = {
disableDefaultUI: true //關閉所有地圖操作介面
};
pMap = newTGOS.TGOnlineMap(pOMap, TGOS.TGCoordSys.EPSG3826, mapOptions); //初始化圖台
}
function addWms(){
var tUrl = document.getElementById('wmsUrl').value; //從wmsUrl文字框中, 取出WMS連結
var WMS = newTGOS.TGWmsLayer(tUrl, {
//建立WMS物件, 加入WMS連結, 並指定相關屬性
user: document.getElementById('useUser').value, //從useUser文字框中取得帳號
pass: document.getElementById('usePass').value, //從usePass文字框中取得密碼
map: pMap,
preserveViewport: true,
zIndex: 1,
wsVisible: true
});
WMSLayer.push(WMS); //將WMS物件加入容器中
}
function deleteWms(){
if (WMSLayer.length > 0) {
for(var i = 0; i < WMSLayer.length; i++)
{
WMSLayer[i].removeWmsLayer(); //當圖面上存在WMS圖層時, 將該圖層移除
}
} else {
alert('圖面上不存在WMS圖層');
}
}
</script>
</head>
<body style="margin:0px"onload="InitWnd();">
<div id="OMap"style="width:640px;height:480px;border: 1px solid #C0C0C0;"></div><br/>
<input id="wmsUrl" type="text" size="80"value="http://ogcmap.tgos.tw/TGOS_UserServices/26629/TEST01/SimpleWMS.aspx?REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&LAYERS=%E7%81%AB%E8%BB%8A%E7%AB%99&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&SRS=EPSG:3826&BBOX=1388.9172132024541,2513955.8629068285,426045.1672132026,2832778.7795734955&WIDTH=642&HEIGHT=482&"/><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="addWms();"/>
<input type="button" value="刪除全部WMS" onclick="deleteWms();"/>
</body>
</html>