[Mapbender-commits] r3800 - trunk/mapbender/http/php
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Tue Mar 24 05:39:17 EDT 2009
Author: christoph
Date: 2009-03-24 05:39:16 -0400 (Tue, 24 Mar 2009)
New Revision: 3800
Modified:
trunk/mapbender/http/php/mod_meetingPoint.php
Log:
http://trac.osgeo.org/mapbender/ticket/417
Modified: trunk/mapbender/http/php/mod_meetingPoint.php
===================================================================
--- trunk/mapbender/http/php/mod_meetingPoint.php 2009-03-24 09:36:09 UTC (rev 3799)
+++ trunk/mapbender/http/php/mod_meetingPoint.php 2009-03-24 09:39:16 UTC (rev 3800)
@@ -97,13 +97,18 @@
meetingPoint_please_click = 'Please click for the meeting point position!';
}
-parent.mb_registerSubFunctions("window.frames['meetingPoint'].mod_meetingPoint_draw()");
+var mod_meetingPointRealPoint = null;
+//parent.mb_registerSubFunctions("window.frames['meetingPoint'].mod_meetingPoint_draw()");
+parent.eventAfterMapRequest.register(function () {
+ mod_meetingPoint_draw();
+});
+
var ie = document.all?1:0;
var mod_meetingPoint_win = null;
var mod_meetingPoint_elName = "meetingPoint";
var mod_meetingPoint_frameName = "meetingPoint";
-
+var mod_meetingPoint_button = "my_getCoords";
var mod_meetingPoint_img_on = new Image(); mod_meetingPoint_img_on.src = meetingPoint_image.replace(/_off/,"_on") ;
var mod_meetingPoint_img_off = new Image(); mod_meetingPoint_img_off.src = meetingPoint_image;
var mod_meetingPoint_img_over = new Image(); mod_meetingPoint_img_over.src = meetingPoint_image.replace(/_off/,"_over") ;
@@ -111,25 +116,39 @@
function init_mod_meetingPoint(ind){
- parent.mb_button[ind] = window.document.getElementById("my_getCoords");
+ parent.mb_button[ind] = window.document.getElementById(mod_meetingPoint_button);
parent.mb_button[ind].img_over = mod_meetingPoint_img_over.src;
parent.mb_button[ind].img_on = mod_meetingPoint_img_on.src;
parent.mb_button[ind].img_off = mod_meetingPoint_img_off.src;
parent.mb_button[ind].status = 0;
- parent.mb_button[ind].elName = "my_getCoords";
+ parent.mb_button[ind].elName = mod_meetingPoint_button;
parent.mb_button[ind].go = new Function ("mod_meetingPoint_run()");
parent.mb_button[ind].stop = new Function ("mod_meetingPoint_disable()");
}
function mod_meetingPoint_run(){
- parent.frames[mod_meetingPoint_target].document.onclick = mod_meetingPoint_click;
+ var mapObject = parent.getMapObjByName(mod_meetingPoint_target);
+ if (mapObject) {
+ mapObject.getDomElement().ownerDocument.onclick = function (e) {
+ var clickPos = mapObject.getMousePosition(e);
+ mod_meetingPointRealPoint = mapObject.convertPixelToReal(clickPos);
+ mod_meetingPoint_write(mod_meetingPointRealPoint.x, mod_meetingPointRealPoint.y);
+ mod_meetingPoint_draw();
+ parent.mb_disableThisButton(mod_meetingPoint_button);
+ };
+ }
}
function mod_meetingPoint_disable(){
- parent.frames[mod_meetingPoint_target].document.onclick = null;
+ var mapObject = parent.getMapObjByName(mod_meetingPoint_target);
+ if (mapObject) {
+ mapObject.getDomElement().ownerDocument.onclick = null;
+ }
}
+/*
+function mod_meetingPoint_click(e){
+
-function mod_meetingPoint_click(e){
if(ie){
clickX = parent.frames[mod_meetingPoint_target].event.clientX;
clickY = parent.frames[mod_meetingPoint_target].event.clientY;
@@ -144,18 +163,56 @@
mod_meetingPoint_write(pos[0],pos[1]);
mod_meetingPoint_draw();
}
-
+*/
function mod_meetingPoint_write(x,y){
document.forms[0].x.value =x;
document.forms[0].y.value =y;
}
function mod_meetingPoint_hide(){
- var ind = parent.getMapObjIndexByName(mod_meetingPoint_target);
- parent.frames[mod_meetingPoint_target].document.getElementById('permanent').style.visibility = 'hidden';
+ //var ind = parent.getMapObjIndexByName(mod_meetingPoint_target);
+ //parent.frames[mod_meetingPoint_target].document.getElementById('permanent').style.visibility = 'hidden';
+ var mapObject = parent.getMapObjByName(mod_meetingPoint_target);
+ parent.$("#" + mapObject.elementName + "_permanent").css({
+ visibility:"hidden"
+ });
}
+
function mod_meetingPoint_draw(){
+ var mapObject = parent.getMapObjByName(mod_meetingPoint_target);
+ if (mapObject) {
+ if (mod_meetingPointRealPoint !== null) {
+ //alert(document.forms[0].x.value +" -- "+ document.forms[0].y.value + " - " );
+
+ var meetingPointClickPos = mapObject.convertRealToPixel(mod_meetingPointRealPoint);
+ var tagSource = "";
+ tagSource += "<div style='z-index:13;position:absolute;left:"+(meetingPointClickPos.x- Math.round(0.5*meetingPoint_width))+"px;top:"+(meetingPointClickPos.y-Math.round(0.5*meetingPoint_height))+"px'>";
+ tagSource += "<img src='"+meetingPoint_icon+"'>";
+ tagSource += "<span style='"+meetingPoint_style+"'>"+document.forms[0].mytext.value+"<span>";
+ tagSource += "</div>";
+
+ var map_el = mapObject.getDomElement();
+ if (!map_el.ownerDocument.getElementById(mapObject.elementName + "_permanent")) {
+ //create Box Elements
+
+ var $div = parent.$("<div id='" + mapObject.elementName + "_permanent'><img src='../img/redball.gif'/></div>");
+ $div.css({
+ position: "absolute",
+ top: "0px",
+ left: "0px",
+ zIndex: 13
+ });
+ map_el.appendChild($div.get(0));
+ }
+ parent.$("#" + mapObject.elementName + "_permanent").html(tagSource);
+
+ }
+ }
+}
+
+/*
+function mod_meetingPoint_draw(){
var ind = parent.getMapObjIndexByName(mod_meetingPoint_target);
if (document.forms[0].x.value!='' && document.forms[0].y.value != ''){
//alert(document.forms[0].x.value +" -- "+ document.forms[0].y.value + " - " + parent.mb_mapObj[ind].width +" iii: "+ ind);
@@ -174,6 +231,8 @@
parent.writeTag(mod_meetingPoint_target, "permanent", tagSource);
}
}
+
+*/
-->
</script>
More information about the Mapbender_commits
mailing list