[Mapbender-commits] r2327 - branches/nimix_dev/http/javascripts
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Wed Apr 2 03:57:07 EDT 2008
Author: nimix
Date: 2008-04-02 03:57:07 -0400 (Wed, 02 Apr 2008)
New Revision: 2327
Added:
branches/nimix_dev/http/javascripts/tooltip_wms.php
Modified:
branches/nimix_dev/http/javascripts/tooltip.php
Log:
add featureInfo tooltip that only apears if there are results
Modified: branches/nimix_dev/http/javascripts/tooltip.php
===================================================================
--- branches/nimix_dev/http/javascripts/tooltip.php 2008-04-02 07:55:48 UTC (rev 2326)
+++ branches/nimix_dev/http/javascripts/tooltip.php 2008-04-02 07:57:07 UTC (rev 2327)
@@ -44,14 +44,14 @@
eventInit.register(function(){
$(window.frames["mapframe1"].document).mousemove(function(event){
- eventMouseMove.trigger();
- mb_getMousePos(event,"mapframe1");
+ eventMouseMove.trigger(event);
}).mouseout(function(){mouseMoves=0;});
});
-eventMouseMove.register(function(){
- if(tooltipWin&&tooltipWin.isVisible())
- tooltipWin.destroy();
+eventMouseMove.register(function(event){
+ mb_getMousePos(event,"mapframe1");
+// if(tooltipWin&&tooltipWin.isVisible()&&(Math.abs(clickX-point.x)>15||Math.abs(clickY-point.y)>15))
+// tooltipWin.destroy();
mouseMoves++;
setTimeout("if(mouseMoves=="+mouseMoves+")requestWfs();",tooltipTime);
});
Added: branches/nimix_dev/http/javascripts/tooltip_wms.php
===================================================================
--- branches/nimix_dev/http/javascripts/tooltip_wms.php (rev 0)
+++ branches/nimix_dev/http/javascripts/tooltip_wms.php 2008-04-02 07:57:07 UTC (rev 2327)
@@ -0,0 +1,113 @@
+<?php
+# $Id: mod_toggleModule.php 2238 2008-03-13 14:24:56Z christoph $
+# http://www.mapbender.org/index.php/mod_toggleModule.php
+# Copyright (C) 2002 CCGIS
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
+
+echo "var tooltipTarget ='".$e_target[0]."';";
+
+include '../include/dyn_js.php';
+?>
+
+var tooltipTime = 500;
+
+var mouseMoves=0;
+var tooltipWin=null;
+var point;
+var numberOfFinishedAjaxCalls = 0;
+buttonWfs_toDigitize_on ="0";
+
+function mod_tooltipInit(){
+ $(window.frames["mapframe1"].document).mousemove(function(event){
+ mod_tooltip_run();
+ mb_getMousePos(event,"mapframe1");
+ }).mouseout(function(){mouseMoves=0;});
+}
+
+mb_registerInitFunctions("mod_tooltipInit();");
+
+function mod_tooltip_run(){
+ mouseMoves++;
+ setTimeout("if(mouseMoves=="+mouseMoves+")showWMSBalloon();",tooltipTime);
+});
+
+function showWMSBalloon(){
+ x=clickX+parseInt(document.getElementById("mapframe1").style.left);
+ y=clickY+parseInt(document.getElementById("mapframe1").style.top);
+ if(tooltipWin&&tooltipWin.isVisible())
+ tooltipWin.destroy();
+ url = getfirstFeatureInfoRequest(tooltipTarget,clickX,clickY,"../extensions/ext_featureInfoTunnel.php");
+// var ind = getMapObjIndexByName("mapframe1");
+// req = mb_mapObj[ind].getFeatureInfoRequests({x:clickX,y:clickY});
+ mb_ajax_post(url, null, function(js_code,status){
+ if(js_code.indexOf("Kein Ergebnis.")!==-1)
+ return;
+ tooltipWin = new mb_popup({html:"<iframe>"+js_code+"</iframe>",title:"Feature Info",width:270,height:200,balloon:true,left:x,top:y});
+ tooltipWin.show();
+ });
+ //if(req)
+}
+
+function getfirstFeatureInfoRequest(fName,x,y,path) {
+ for(i=0; i<mb_mapObj.length; i++){
+ if(mb_mapObj[i].frameName == fName){
+ for(var ii=0; ii<mb_mapObj[i].wms.length; ii++){
+ var newfeatureInfoRequest = "";
+ var requestParams = "";
+ var validation = false;
+ newfeatureInfoRequest += mb_mapObj[i].wms[ii].wms_getfeatureinfo;
+ newfeatureInfoRequest += mb_getConjunctionCharacter(mb_mapObj[i].wms[ii].wms_getfeatureinfo);
+
+ if(mb_mapObj[i].wms[ii].wms_version == "1.0.0"){requestParams += "WMTVER="+mb_mapObj[i].wms[ii].wms_version+"&REQUEST=feature_info&";}
+ if(mb_mapObj[i].wms[ii].wms_version != "1.0.0"){requestParams += "VERSION="+mb_mapObj[i].wms[ii].wms_version+"&REQUEST=GetFeatureInfo&SERVICE=WMS&";}
+ requestParams += "SRS="+mb_mapObj[i].epsg+"&";
+ requestParams += "BBOX="+mb_mapObj[i].extent+"&";
+ requestParams += "WIDTH="+mb_mapObj[i].width+"&";
+ requestParams += "HEIGHT="+mb_mapObj[i].height+"&";
+ requestParams += "LAYERS="+mb_mapObj[i].layers[ii]+"&";
+ requestParams += "STYLES="+mb_mapObj[i].styles[ii]+"&";
+ requestParams += "FORMAT="+mb_mapObj[i].wms[ii].gui_wms_mapformat+"&";
+ requestParams += "INFO_FORMAT="+mb_mapObj[i].wms[ii].gui_wms_featureinfoformat+"&";
+ requestParams += "EXCEPTIONS=application/vnd.ogc.se_xml&";
+ if(mb_feature_count > 0){
+ requestParams += "FEATURE_COUNT="+mb_feature_count+"&";
+ }
+ requestParams += "QUERY_LAYERS="+mb_mapObj[i].querylayers[ii]+"&";
+ requestParams += "X=" + x + "&";
+ requestParams += "Y=" + y;
+
+ if(mb_mapObj[i].querylayers[ii] !== "" && mb_mapObj[i].layers[ii] !== ""){
+ validation = true;
+ }
+ //add vendor-specific
+ for(var v=0; v < mb_vendorSpecific.length; v++){
+ var vendorSpecificString = eval(mb_vendorSpecific[v]);
+ requestParams += "&" + vendorSpecificString;
+ }
+ if(mb_log && validation){
+ var tmp = eval(mb_log + "('" + newfeatureInfoRequest + requestParams + "','" + ts + "')");
+ }
+ if(validation){
+ newfeatureInfoRequest += requestParams;
+ return newfeatureInfoRequest;
+ }
+ }
+ }
+ }
+ return false;
+}
More information about the Mapbender_commits
mailing list