2015年2月16日月曜日

2 - ol3.2ex 59b - WMS GetCapabilities parsing example 2

「wms-capabilities.js(259-ol3ex.js)」は、マップを表示するための JavaScript ファイルです。

「ogcsample.xml」
<?xml version='1.0' encoding="UTF-8"?>
<WMS_Capabilities version="1.3.0" xmlns="http://www.opengis.net/wms"
 xmlns:xlink="http://www.w3.org/1999/xlink"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.opengis.net/wms http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd">
<Service>
 <Name>WMS</Name>
 <Title>Acme Corp. Map Server</Title>
 <Abstract>Map Server maintained by Acme Corporation.  Contact: webmaster@wmt.acme.com.  High-quality maps showing roadrunner nests and possible ambush locations.</Abstract>
 <KeywordList>
  <Keyword>bird</Keyword>
  <Keyword>roadrunner</Keyword>
  <Keyword>ambush</Keyword>
 </KeywordList>
 <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
  xlink:href="http://hostname/" />
 <ContactInformation>
  <ContactPersonPrimary>
   <ContactPerson>Jeff Smith</ContactPerson>
   <ContactOrganization>NASA</ContactOrganization>
  </ContactPersonPrimary>
  <ContactPosition>Computer Scientist</ContactPosition>
---

「259-ol3ex.js」
var parser = new ol.format.WMSCapabilities();
/** ol.format.WMSCapabilities
 * Format for reading WMS capabilities data
 * WMS capabilities データを読み込むためのフォーマット。
 * (ol3 API)
 */
// $.ajax('data/ogcsample.xml').then(function(response) {
$.ajax('v3.2.0/examples/data/ogcsample.xml').then(function(response) {
/** jQuery.ajax()
 * Perform an asynchronous HTTP (Ajax) request.
 * 非同期 HTTP(Ajax)リエストを実行します。
 * (jQuery[http://api.jquery.com/jquery.ajax/])
 */
/** deferred.then()
 * Add handlers to be called when the Deferred object is 
 * resolved, rejected, or still in progress. 
 * deferred オブジェクトが resolved、rejected か、まだ処理途中
 * (progress)のとき呼び出されるハンドラを追加します。
 * (juery[http://api.jquery.com/deferred.then/])
 */
 var result = parser.read(response);
 /** read()
  * Read a WMS capabilities document.
  * (v3.2.0/ol/ol/format/wmscapabilities)
  */
 $('#log').html(window.JSON.stringify(result, null, 2));
 /** .html()
  * Get the HTML contents of the first element in the 
  * set of matched elements or set the HTML contents of 
  * every matched element.
  * 一致した要素のセット、または、すべての一致した要素のHTML
  * コンテンツのセットの最初の要素のHTMLコンテンツを取得します。
  * (jQuery[http://api.jquery.com/html/])
  */
 /** JSON.stringify()
  * The JSON.stringify() method converts a JavaScript 
  * value to a JSON string, optionally replacing values 
  * if a replacer function is specified, or optionally 
  * including only the specified properties if a 
  * replacer array is specified.
  * JSON.stringify()メソッドは、JavaScript の値を JSON 文
  * 字列に変換します。replacer function が指定されている場合は
  * 必要に応じて値を置換し、または、replacer 配列が指定されている
  * 場合は必要に応じて指定されたプロパティのみを含みます。
  * (MDN[https://developer.mozilla.org/en-US/docs/Web/
  * JavaScript/Reference/Global_Objects/JSON/stringify])
  */
});


.then() に関しては、
「爆速でわかるjQuery.Deferred超入門(http://techblog.yahoo.co.jp/programming/jquery-deferred/)」なども参考にしてください。

0 件のコメント: