基础较差,没找出来。调试也没弄明白。
1 function GetValue(para) { 2 var reg = new RegExp("(^|&)"+ para +"=([^&]*)(&|$)"); 3 var r = this.substr(this.indexOf("\?")+1).match(reg); 4 if (r!=null) 5 return unescape(r[2]); 6 return null; 7 } 8 var str = "http://localhost:8080/ArcGIS/mapviewer.jsf?width=1059&height=523&TextString=1B024"; 9 //如果获取本页地址用var str = location.href; 10 // alert(str.GetValue("TextString")); 11 var value=str.GetValue("TextString"); 12 13 String.prototype.qt = function(query){ 14 var queryTask = new QueryTask("http://192.168.0.95:6080/ArcGIS/rest/services/SH001DangRuan1/MapServer"); 15 var query = new Query(); 16 query.where = "TextString='value'"; 17 query.returnGeometry = true; 18 query.outFields=["*"]; 19 query.execute(query,handleQueryResults); 20 } 21 22 String.prototype. handleQueryResults= function(results) { 23 var symbol = new esri.symbol.SimpeFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0,0,255,0.35]), 1),new dojo.Color([125,125,125,0.35])); 24 }; 25 adfdojo.addOnload(qt);
这段代码想干啥,报什么错?
没报错 就是不显示效果
先 获取URL参数
然后 在地图上查询这个参数,显示效果
@谁说不可以重名: HTML代码也贴过来,我调试一下看看。
@火悬崖:
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2 3 <html> 4 <head> 5 <title>ArcGIS</title> 6 7 <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 8 9 <link rel="stylesheet" href="css/soria.all.css.min.css" type="text/css"></link> 10 <link rel="stylesheet" href="css/adf.css" type="text/css"></link> 11 <link rel="stylesheet" href="css/wma.css" type="text/css"></link> 12 <link rel="stylesheet" href="css/themes/light-blue/light-blue.css" type="text/css"></link> 13 14 <script type="text/javascript" src="js/esri/dojo/dojo.js"></script> 15 16 </head> 17 <body> 18 <table style="width:100%; height:100%;"> 19 <tbody> 20 <tr> 21 <td align="center" id="loading"> 22 <img src="images/loading.gif" alt="Loading..." title="Loading..."/> 23 </td> 24 </tr> 25 </tbody> 26 </table> 27 <script type="text/javascript"> 28 adfdojo.addOnLoad( function() { 29 var url = "mapviewer.jsf"; 30 try { 31 var b = adfdojo.contentBox(adfdojo.body()); 32 url +="?TextString=" + '1B024' + "&width=" + (b.w - 307) + "&height=" + (b.h - 80) ; 33 } 34 catch (exception) { 35 console.error("Unable to determine dimensions of body element."); 36 } 37 38 window.location.href = url; 39 }); 40 </script> 41 </body> 42 </html>
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2 3 <%@page contentType="text/html" pageEncoding="UTF-8" %> 4 5 <%@taglib uri="http://www.esri.com/adf/web" prefix="a"%> 6 <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%> 7 <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%> 8 <%@ page language="java" import="java.util.Locale" %> 9 10 <html> 11 <head> 12 13 <meta http-equiv="Content-type" content="text/html;charset=UTF-8" > 14 15 <title>Web Mapping Application</title> 16 17 <link rel="stylesheet" href="css/soria.all.css.min.css" type="text/css"></link> 18 <link rel="stylesheet" href="css/adf.css" type="text/css"></link> 19 <link rel="stylesheet" href="css/wma.css" type="text/css"></link> 20 <link rel="stylesheet" href="css/themes/blue2/blue2.css" type="text/css"></link> 21 22 <script type="text/javascript" language="javascript" src="js/esri/dojo/dojo.js" djConfig="locale:'<%=Locale.getDefault().toString().replace('_', '-').toLowerCase()%>' "></script> 23 <script type="text/javascript"> 24 25 adfdojo.require("adf.adf"); 26 adfdojo.require("wma.app"); 27 adfdojo.requireLocalization("resource","adf"); 28 adfdojo.requireLocalization("resource","wma"); 29 30 adfdojo.addOnLoad(function() { 31 if (wma) { 32 wma.init(); 33 } 34 }); 35 </script> 36 <script type="text/javascript"> 37 38 String.prototype.GetValue= function(para) { 39 var reg = new RegExp("(^|&)"+ para +"=([^&]*)(&|$)"); 40 var r = this.substr(this.indexOf("\?")+1).match(reg); 41 if (r!=null) 42 return unescape(r[2]); 43 return null; 44 } 45 var str = "http://localhost:8080/ArcGIS/mapviewer.jsf?width=1059&height=523&TextString=1B024"; 46 //如果获取本页地址用var str = location.href; 47 //alert(str.GetValue("TextString")); 48 var value=str.GetValue("TextString"); 49 50 // String.prototype.qt = function(query){ 51 //var queryTask = new QueryTask("http://192.168.0.95:6080/ArcGIS/rest/services/SH001DangRuan1/MapServer"); 52 //var query = new Query(); 53 // query.where = "TextString='str.GetValue("TextString")'"; 54 // query.returnGeometry = true; 55 // query.outFields=["*"]; 56 // query.execute(query,handleQueryResults); 57 //} 58 59 // String.prototype. handleQueryResults= function(results) { 60 // var symbol = new esri.symbol.SimpeFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0,0,255,0.35]), 1),new dojo.Color([125,125,125,0.35])); 61 // }; 62 // adfdojo.addOnload(qt); 63 </script> 64 65 </head> 66 67 <f:view> 68 <f:loadBundle basename="res.mapviewer" var="res"/> 69 70 <a:context value="#{mapContext}" /> 71 72 <body class="soria" > 73 <h:form id="mapForm" style="height: 100%; width: 100%;"> 74 75 <div id="layoutContainer"> 76 77 </div> 78 79 <div id="content"> 80 81 <span id="titleText"></span> 82 83 <div id="linksPane"> 84 <table align="right"> 85 <tr> 86 <td align="right"> 87 <a class="appLink" href="help/index.html" target="_blank">Help</a> 88 </td> 89 </tr> 90 91 <tr> 92 <td align="right"> 93 <h:outputText styleClass="appNote" value="#{res.LoggedInAs}: #{webappSecurityInfo.user}" rendered="#{webappSecurityInfo.secured}"/> 94 <h:commandLink styleClass="appLink" action="#{webappSecurityInfo.logOut}" rendered="#{webappSecurityInfo.logoutAvailable}"> 95 <h:outputText value=" #{res.LogOut}"/> 96 </h:commandLink> 97 </td> 98 </tr> 99 </table> 100 </div> 101 102 <!-- 103 Custom content to place in a dijit.TitlePane should be placed here in a div whose class attribute is "sideContent". 104 The title attribute for this node will be used as the title. If a resource string wma.Res.getString("<title attribute value>") 105 exists, the corresponding value will be used first. 106 107 For Example: 108 <div class="sideContent" title="Content Title String"> 109 <h1>Custom Side Content</h1> 110 </div> 111 --> 112 113 <!-- Map Control Content --> 114 <a:map value="#{mapContext.webMap}" id="map1" width="#{param.width}" height="#{param.height}" scaleBar="#{mapContext.attributes['webappScaleBar']}" /> 115 <div id="northarrow"> 116 <h:inputHidden id="northarrowHid" value="#{mapContext.attributes.webappNorthArrow.imageUrl}" /> 117 </div> 118 119 120 <!-- Map TOC Content --> 121 <a:toc id="toc1" value="#{mapContext.webToc}" mapId="map1" clientPostBack="true" /> 122 123 <!-- Task Results TOC Content --> 124 <a:results id="results" value="#{mapContext.attributes.webappResults}" mapId="map1" clientPostBack="true" xslFile="results.xsl" /> 125 126 <!-- Map Overview Content --> 127 <a:overview id="ov1" value="#{mapContext.webOverview}" mapId="map1" width="200" height="150" lineColor="#F00" /> 128 129 <!-- Map Tools Content --> 130 <a:task id="mapToolsTask" 131 value="#{mapContext.attributes.webappMapToolsTask}" 132 taskInfo="#{mapContext.attributes.webappMapToolsTask.taskInfo}" 133 mapId="map1" 134 windowingSupport="false" 135 style="padding:0px;margin:0px;" 136 xslFile="maptoolstask.xsl" /> 137 <input id="overviewToggleButton" width="25px" type="image" height="25px" 138 title="Toggle Overview Map" 139 onclick="wma.toggleOverview(this); return false;" 140 onload="adf.Utils.onHandleImage(this, 'images/hide-overview-map.png');" 141 src="images/hide-overview-map.png" /> 142 143 <!-- Application Tasks Content --> 144 <div id="task-menu" class="tasks-menu"> 145 <ul> 146 <li class="menu-bar"> 147 <a href="#" class="menu-header" title="Search Attributes Task" onclick="wma.toggleWindow('win_EsriTaskCell_searchAttributesTask');"> 148 <span>Search Attributes</span> 149 </a> 150 </li> 151 </ul> 152 </div> 153 154 <a:task id="searchAttributesTask" value="#{mapContext.attributes.webappSearchAttributesTask}" taskInfo="#{mapContext.attributes.webappSearchAttributesTask.taskInfo}" mapId="map1" /> 155 156 <h:inputHidden id="taskWindows"/> 157 </div> 158 </h:form> 159 </body> 160 </f:view> 161 </html>
@火悬崖: js怎么调试? 一直没弄明白
@谁说不可以重名:
adfdojo是什么?
还有你的代码我粘贴过来怎么还有前面的序号。。。
@火悬崖: 额 我忘记了 这个是ADF框架自动生成的文件, 我只是加了JS
@谁说不可以重名: 额,ADF没有过,不知道能不能像你这样用,我调试它直接报 未定义错误,你可以用firebug(火狐)或者IE自带的开发人员工具自己调试看看。
@火悬崖: adfdojo明显是dojo库里定义的对象。
@xmodygetz: 额,不好意思,没有过这个库,你可以帮他看看怎么解决问题。
@火悬崖: 我只是听说过,没用过。但是我看了他的代码,不明白为什么他要设定String的原型,是不是可以打印一下qt的具体值看看。
虽然问题没有解决,不过还是感谢