Hi Luca,
This is the code of my new button Select which is 90% equal than WFSGet
Feature:
mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
mapbuilder.loadScript(baseDir+"/tool/ButtonBase.js");
mapbuilder.loadScript(baseDir+"/widget/EditButtonBase.js");
function Select(widgetNode,model){
ButtonBase.apply(this,new Array(widgetNode,model));
this.tolerance=widgetNode.selectSingleNode('mb:tolerance').firstChild.nodeValue;
this.typeName=widgetNode.selectSingleNode
('mb:typeName').firstChild.nodeValue;
this.webServiceUrl=widgetNode.selectSingleNode('mb:webServiceUrl').firstChild.nodeValue;
this.httpPayload=new Object();
this.httpPayload.method="get";
this.httpPayload.postData=null;
this.trm=widgetNode.selectSingleNode("mb:transactionResponseModel").firstChild.nodeValue;
this.cursor="pointer";
this.doAction=function(objRef,targetNode){
if(objRef.enabled){
extent=objRef.targetModel.extent;
point=extent.getXY(targetNode.evpl );
xPixel=extent.res[0]*objRef.tolerance;
yPixel=extent.res[1]*objRef.tolerance;
bbox=(point[0]-xPixel)+","+(point[1]-yPixel)+","+(point[0]+xPixel)+","+(point[1]+yPixel);
if(objRef.webServiceUrl.indexOf("?")>-1){
objRef.httpPayload.url=objRef.webServiceUrl+"&request=GetFeature&typeName="+objRef.typeName+"&bbox="+bbox;
}else{
objRef.httpPayload.url=objRef.webServiceUrl+
"?request=GetFeature&typeName="+objRef.typeName+"&bbox="+bbox;
}
if(!objRef.transactionResponseModel){
objRef.transactionResponseModel=window.config.objects[
objRef.trm];
}
/********************/
this.column=widgetNode.selectSingleNode("mb:column").firstChild.nodeValue;
this.typeNameUserPoint=widgetNode.selectSingleNode
("mb:typeNameUserPoint").firstChild.nodeValue;
objRef.transactionResponseModel.newRequest(
objRef.transactionResponseModel ,objRef.httpPayload);
usuario = objRef.targetModel.getXpathValue(objRef.targetModel,
this.typeNameUserPoint);
//usuario = prompt('Nombre de usuario','');
if (usuario == 1){
document.getElementById(eliminar_1).style.visibility =
"hidden";
document.getElementById(eliminar_2).style.visibility =
"hidden";
document.getElementById(eliminar_3).style.visibility =
"hidden";
}else{
document.getElementById(eliminar_4).style.visibility =
"hidden";
}
/********************/
}
}
this.setMouseListener=function(objRef){
if(objRef.mouseHandler){
objRef.mouseHandler.model.addListener ('mouseup',objRef.doAction
,objRef);
}
objRef.context=objRef.widgetNode.selectSingleNode("mb:context");
if(objRef.context){
objRef.context=window.config.objects [
objRef.context.firstChild.nodeValue];
}
}
config.addListener("loadModel",this.setMouseListener,this);
}
and the widget node in the xml file is:
<Select id="select">
<buttonBar>mainButtonBar</buttonBar>
<targetModel>mainMap</targetModel>
<mouseHandler>mainMouseClick</mouseHandler>
<class>RadioButton</class>
<enabledSrc>/images/Select.gif</enabledSrc>
<disabledSrc>/images/Select.gif</disabledSrc>
<transactionResponseModel>featureCollection</transactionResponseModel>
<webServiceUrl>../wfs</webServiceUrl>
<typeName>topp:tasmania_cities,topp:tasmania_roads,topp:tasmania_water_bodies</typeName>
<tolerance>5</tolerance>
<column>POP_CLASS</column>
<typeNameUserPoint>/gml:featureMember/topp:tasmania_cities/topp:POP_CLASS</typeNameUserPoint>
<typeNameUserLine>/gml:featureMember/topp:tasmania_cities/topp:POP_CLASS</typeNameUserLine>
<typeNameUserPolygon>/gml:featureMember/topp:tasmania_cities/topp:POP_CLASS</typeNameUserPolygon>
</Select>
The webServiceUrl tag is good. I've tested it.
Thanks
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
mapbuilder-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mapbuilder-devel