1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
   |  
// A tool allowing to get info of point interests under
// mouse cursor on mouse stop
var queryInfos = function(oKaMap, szID, delay) {
    this.kaMap = oKaMap;
    this.name = 'queryInfos';
    this.chrono = null;
    this.coordX = "";
    this.coordY = "";
    this.delay = delay;
    this.mouseStopped = false;
    this.bInfoTool = true;
    this.mouseStopped = false;
 
    // héritage des mouse functions de kaTool
    for (var p in kaTool.prototype){
        if (!queryInfos.prototype[p]){
            queryInfos.prototype[p]= kaTool.prototype[p];
        }
    }
}
 
 
queryInfos.prototype.onmousemove = function(e){
	if (navigator.appName!="Microsoft Internet Explorer"){
		this.coordX = e.pageX;
		this.coordY = e.pageY;	
	}
	else if(document.documentElement.clientWidth > 0){
		this.coordX = event.x+document.documentElement.scrollLeft;
		this.coordY = event.y+document.documentElement.scrollTop;
	}
	else{
		this.coordX = event.offsetX;
		this.coordY = event.offsetY;
	}
 
	if(this.chrono != null){
		clearTimeout(this.chrono); //reset du chrono
	}
 
	var adjCoords = this.adjustPixPosition(this.coordX, this.coordY);
	var p = this.kaMap.pixToGeo(adjCoords[0], adjCoords[1]); 
	this.coordX = p[0];
	this.coordY = p[1];
 
        //ici "alert(this.coordX)" me renvoie une coordonnée valable
 
	if(this.mouseStopped == false){
		this.chrono = setTimeout("queryInfos.prototype.mouseStop(this.coordX, this.coordY)", this.delay);
	}
}
 
 
queryInfos.prototype.mouseStop = function(x,y){
	alert(x);  // renvoie undefined
	alert(this.coordX);  // renvoie undefined
	clearTimeout(this.chrono);
	this.mouseStopped = true;
	//this.callFct(x,y);
	this.mouseStopped = false;
} | 
Partager