我正在使用OpenLayers的Google Web Toolkit包裝器。我正在嘗試將WMS圖層添加到地圖,但我需要解析一個能力文檔以獲取可用的圖層名稱。我看到一個WMSCapabilities類在OpenLayers http://dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Format/WMSCapabilities-js.html中可用,但我似乎無法在GWT中找到實現。這個功能還沒有提供,還是隱藏着,在某個地方沒有記錄?提前致謝!GWT-OpenLayers和OpenLayers.Format.WMSCapabilities
0
A
回答
0
我仍然不知道GWT實現是否可用,但在Java中封裝原生JavaScript代碼實際上相當容易。這裏是我的解決方案:
import com.google.gwt.core.client.JsArrayString;
native JsArrayString getLayerNames(String capDoc) /*-{
var toReturn = [];
var parser = new $wnd.OpenLayers.Format.WMSCapabilities();
var doc = parser.read(capDoc);
for (var i in doc.capability["layers"]) {
toReturn.push(doc.capability["layers"][i].name);
}
return toReturn;
}-*/;
然後,您可以使用訪問它們:
JsArrayString layers = getLayerNames(getMyCapabilitiesDocumentAsString());
for (int i = 0; i < layers.length(); i++) {
Window.alert("A layer name is " + layers.get(i));
}
變量doc
是包含功能文件的全部內容JavaScript數組,所以它可以訪問不僅僅是圖層名稱;簡單地拿出你需要的東西。另外,創建單個解析器可能會更好,而不是每次調用該方法時創建一個新解析器,但這是不同的練習;)
相關問題
- 1. PHP:OR和||和&&和
- 2. Java和Android和SharedPreferences和OOP
- 3. 搜索和和&
- 4. lxml和CDATA和&
- 5. Spring和JSF和JPA
- 6. laravel OrderBy和總和
- 7. 分析儀 '&' 和 '和'
- 8. OR和和預期
- 9. Postpost和log4net和log4postsharp
- 10. MVC和Ajax.BeginForm和DIV.Load
- 11. Chrome和YouTube和AppleScript
- 12. WCF和XmlSerialization和XmlWriterSettings
- 13. 集團和總和
- 14. jquery和jScrollPane和ajax
- 15. Prism和TabControl和TabIndex
- 16. 梨和pirum和package.xml
- 17. PHP和IRC和殼
- 18. 基本總和和
- 19. JavaScript和JAWS - 和SCORM?
- 20. 和Xcode 6和OCMockito
- 21. NSDateFormatter和setDateFormat:和SSS
- 22. FastCGI和Apache和C++
- 23. LABJs和Modernizr和yepnopejs
- 24. WCF和REST和SOAP
- 25. Oracle和Jdbc和OraclePreparedStatement#setPlsqlIndexTable和java.util.Date
- 26. Git和Maven和發佈和合並
- 27. 圖像和matlab和DCT變換和jpeg
- 28. 總和和工會用mysql和Java
- 29. $ *和$ @
- 30. %和/