1){ echo "alert('setExtRequest: ID not unique!');\n";}
echo "var mod_wfs_spatialRequest_target = '".$e_target."';\n";
?>
var wfsAreaType_point = "point";
var wfsAreaType_polygon = "polygon";
var wfsAreaType_rectangle = "rectangle";
var wfsAreaType_extent = "extent";
var wfsAreaType_current = "";
var mod_wfs_spatialRequest_frameName = "";
var mod_wfs_spatialRequest_epsg;
var mod_wfs_spatialRequest_width;
var mod_wfs_spatialRequest_height;
var mod_wfs_spatialRequest_bg = "";
var mod_wfs_spatialRequest_pgsql = true;
var mod_wfs_spatialRequest_win = null;
var mod_wfs_spatialRequest_thema = false;
var button_point = "point";
var button_polygon = "polygon";
var button_rectangle = "rectangle";
var button_extent = "extent";
var button_dialogue = "dialogue";
var mb_wfs_tolerance = 8;
var activeButton = null;
var mod_wfs_spatialRequest_geometry = null;
var mod_wfs_spatialRequestSubFunctions = [];
// ------------------------------------------------------------------------------------------
// ------------ button handling -------------------------------------------------------------
function displayButtons() {
for (var i = 0 ; i < buttonWfs_id.length ; i ++) {
if (parseInt(buttonWfs_on[i])==1) {
document.write("
");
}
}
}
function initWfsButton(ind, pos) {
mb_button[ind] = document.getElementById(buttonWfs_id[pos]);
mb_button[ind].img_over = buttonWfs_imgdir + buttonWfs_src[pos].replace(/_off/,"_over");
mb_button[ind].img_on = buttonWfs_imgdir + buttonWfs_src[pos].replace(/_off/,"_on");
mb_button[ind].img_off = buttonWfs_imgdir + buttonWfs_src[pos];
mb_button[ind].status = 0;
mb_button[ind].elName = buttonWfs_id[pos];
mb_button[ind].fName = "";
mb_button[ind].go = new Function ("wfsEnable(mb_button["+ind+"], " + pos + ")");
mb_button[ind].stop = new Function ("wfsDisable(mb_button["+ind+"], " + pos + ")");
var ind = getMapObjIndexByName(mod_wfs_spatialRequest_target);
mod_wfs_spatialRequest_width = mb_mapObj[ind].width;
mod_wfs_spatialRequest_height = mb_mapObj[ind].height;
mod_wfs_spatialRequest_epsg = mb_mapObj[ind].epsg;
mb_registerSubFunctions("drawDashedLineExt()");
mb_registerPanSubElement("measuring");
}
function wfsEnable(obj) {
if (obj.id == button_point) {
if (activeButton == null) {
activeButton = obj;
}
mod_wfs_spatialRequest_geometry = new Geometry(geomType.point);
wfsAreaType_current = wfsAreaType_point;
mod_wfs_spatialRequest_digitize_go(geomType.point);
}
if (obj.id == button_polygon) {
if (activeButton == null) {
activeButton = obj;
}
mod_wfs_spatialRequest_geometry = new Geometry(geomType.polygon);
wfsAreaType_current = wfsAreaType_polygon;
mod_wfs_spatialRequest_digitize_go(geomType.polygon);
var measureSub = "";
for(var i=0; i= 3) {
mb_getMousePos(e,mod_wfs_spatialRequest_target);
var pos = new Point(clickX,clickY).round(2);
s.check(pos);
}
}
function mod_wfs_spatialRequest_start(e){
var realWorldPos;
if (s.isSnapped() == true) {
realWorldPos = s.getSnappedPoint();
s.clean();
}
else {
mb_getMousePos(e,mod_wfs_spatialRequest_target);
realWorldPos = mapToReal(mod_wfs_spatialRequest_target,new Point(clickX,clickY)).round(2);
}
mod_wfs_spatialRequest_geometry.addPoint(realWorldPos);
if (mod_wfs_spatialRequest_geometry.count() == 1) {
s.add(mod_wfs_spatialRequest_geometry.get(0));
}
if (s.isSnapped() && mod_wfs_spatialRequest_geometry.count() >= 3 && mod_wfs_spatialRequest_geometry.get(-1).equals(mod_wfs_spatialRequest_geometry.get(0))) {
mod_wfs_spatialRequest_geometry.close();
mod_getAreaExt_send();
return;
}
if(wfsAreaType_current == wfsAreaType_point){
mod_getAreaExt_send();
return;
}
drawDashedLineExt();
}
function drawDashedLineExt(){
var str_mPoints = "
";
str_mPoints += "
";
if (mod_wfs_spatialRequest_geometry != null) {
for(var i=0; i";
}
if(mod_wfs_spatialRequest_geometry.count()>1){
for(var k=1; k= 0 && currPoint.x <= mod_wfs_spatialRequest_width && currPoint.y >= 0 && currPoint.y <= mod_wfs_spatialRequest_height){
str_dashedLine += "";
}
}
return str_dashedLine;
}
function mod_wfs_spatialRequest_close(){
if(mod_wfs_spatialRequest_geometry.count() < 3){
return;
}
mod_wfs_spatialRequest_geometry.closeGeometry();
drawDashedLineExt();
mod_getAreaExt_send();
}
function register_setExtRequestSubFunctions(stringFunction){
mod_wfs_spatialRequestSubFunctions[mod_wfs_spatialRequestSubFunctions.length] = stringFunction;
}
function mod_getAreaExt_send(){
mb_setwfsrequest(mod_wfs_spatialRequest_target,mod_wfs_spatialRequest_geometry);
mod_wfs_spatialRequest_delete();
mb_disableThisButton(activeButton.id);
mod_wfs_spatialRequest_geometry = null;
}
function mod_wfs_spatialRequest_delete(){
writeTag(mod_wfs_spatialRequest_target,"measuring","");
writeTag(mod_wfs_spatialRequest_target,"measure_display","");
}
function mod_wfs_spatialRequest_timeout(){
var el = window.frames[mod_wfs_spatialRequest_target].document;
el.onmousedown = null;
el.ondblclick = null;
el.onmousemove = null;
}
function mod_wfs_spatialRequest_disableTimeout(){
var el = window.frames[mod_wfs_spatialRequest_target].document;
el.onmousedown = mod_wfs_spatialRequest_start;
}
function isSetWfsResultToDigitize() {
if (parseInt(buttonWfs_toDigitize_on)==1) return true;
return false;
}
function mod_wfs_SpatialRequest_dialog(){
if(!mod_wfs_spatialRequest_win || mod_wfs_spatialRequest_win == null || mod_wfs_spatialRequest_win.closed == true){
mod_wfs_spatialRequest_win = window.open("","mod_wfs_spatialRequest_win","width=200,height=150,resizable=yes");
mod_wfs_spatialRequest_win.document.open("text/html");
mod_wfs_spatialRequest_win.document.writeln('');
mod_wfs_spatialRequest_win.document.writeln("");
mod_wfs_spatialRequest_win.document.close();
}
else{
mod_wfs_spatialRequest_win.focus();
}
}
function mb_setwfsrequest(target,queryGeom){
//mb_wfs_reset();
var ind = getMapObjIndexByName(target);
var w = [];
w_ = [];
wfs_config = window.frames["wfs_conf"].get_wfs_conf();
for (var i=0; i";
for(var j=0; j";
filter += '';
for(var k=0; k0) filter += " ";
filter += queryGeom.get(k).x+","+queryGeom.get(k).y;
}
filter += '';
filter += '';
mb_get_geom(url, filter, i, wfs_config[w_[i]]['featuretype_name'], w_[i], w[i]);
}
}
else if(queryGeom.geomType==geomType.line){
var rectangle = [];
if(queryGeom.geomType == geomType.line){
var rectangle = queryGeom.getBBox();
}
for(var i=0; i";
for(var j=0; j";
filter += rectangle[0].x+","+rectangle[0].y+ " " + rectangle[1].x+","+rectangle[1].y;
filter += "";
url += param;
mb_get_geom(url, filter, i, wfs_config[w_[i]]['featuretype_name'], w_[i], w[i]);
}
}
else if(queryGeom.geomType == geomType.point){
var tmp = queryGeom.get(0);
var buffer = mb_wfs_tolerance/2;
for(var i=0; i";
for(var j=0; j";
filter += (tmp.x - buffer) + "," + (tmp.y - buffer) + " " + (tmp.x + buffer) + "," + (tmp.y - buffer) + " ";
filter += (tmp.x + buffer) + "," + (tmp.y + buffer) + " " + (tmp.x - buffer) + "," + (tmp.y + buffer) + " " + (tmp.x - buffer) + "," + (tmp.y - buffer);
filter += "";
url += param;
mb_get_geom(url, filter, i, wfs_config[w_[i]]['featuretype_name'], w_[i], w[i]);
}
}
// highlight = new Highlight(mb_wfs_targets, highlight_tag_id, {"position":"absolute", "top":"0px", "left":"0px", "z-index":generalHighlightZIndex}, generalHighlightLineWidth);
return true;
}
function mb_get_geom(url, filter, index, typename, js_wfs_conf_id, db_wfs_conf_id) {
mb_ajax_post("../" + wfsResultModulePath + wfsResultModuleFilename, {'url':url,'filter':filter,'typename':typename,'js_wfs_conf_id':js_wfs_conf_id, 'db_wfs_conf_id':db_wfs_conf_id}, function(js_code,status){
// alert(js_code);
eval(js_code);
if (typeof(geom) == 'object') mb_execWfsReadSubFunctions(geom);
// prompt('', js_code);
});
}
//deprecated stuff
function mod_wfs_spatialRequest_dialog(){
}
function useExtentIsSet () {
return mod_wfs_spatialRequest_useExtent;
}
displayButtons();