kaOverlay.js
Summary
No overview generated for 'kaOverlay.js'
function kaOverlay( oKaMap )
{
kaTool.apply( this, [oKaMap] );
this.name = 'kaOverlay';
this.XMLloaded = false;
this.overlayLayers= new Array();
this.output;
this.sessionId="";
this.topLeft;
this.imgWidth;
this.imgHeight;
this.imageMap="";
for (var p in kaTool.prototype)
{
if (!kaOverlay.prototype[p])
kaOverlay.prototype[p]= kaTool.prototype[p];
}
this.ovrObjects = new Array();
this.kaMap.registerForEvent( KAMAP_SCALE_CHANGED, this, this.scaleChanged );
this.kaMap.registerForEvent( KAMAP_EXTENTS_CHANGED, this, this.reCenter );
}
kaOverlay.prototype.scaleChanged = function( eventID, mapName ) {
this.reCenter();
}
kaOverlay.prototype.reCenter = function() {
if(getRawObject('theInsideLayer') && getRawObject('imageMapLayer') && getRawObject('mapCodeDiv')){
var imageMapLayer = getRawObject('imageMapLayer');
var mapCodeDiv = getRawObject('mapCodeDiv');
var defaultExtents = myKaMap.getCurrentMap().defaultExtents;
var currentExtents = myKaMap.getCurrentMap().currentExtents;
var geoExtents = myKaMap.getGeoExtents();
var insideLayerLeft = myKaMap.theInsideLayer.style.left;
var insideLayerTop = myKaMap.theInsideLayer.style.top;
var xOrigin = myKaMap.xOrigin;
var yOrigin = myKaMap.yOrigin;
var topLeft = myKaMap.geoToPix( defaultExtents[0], defaultExtents[3] );
topLeft[0] = topLeft[0] - xOrigin;
topLeft[1] = topLeft[1] - yOrigin;
this.topLeft = topLeft;
var bottomRight = myKaMap.geoToPix( defaultExtents[2], defaultExtents[1] );
bottomRight[0] = bottomRight[0] - xOrigin;
bottomRight[1] = bottomRight[1] - yOrigin;
var imgWidth = bottomRight[0] - topLeft[0];
this.imgWidth = imgWidth;
var imgHeight = bottomRight[1] - topLeft[1];
this.imgHeight = imgHeight;
imageMapLayer.style.width = this.imgWidth+"px";
imageMapLayer.style.height = this.imgHeight+"px";
imageMapLayer.style.top = this.topLeft[1]+"px";
imageMapLayer.style.left = this.topLeft[0]+"px";
mapCodeDiv.style.width = this.imgWidth+"px";
mapCodeDiv.style.height = this.imgHeight+"px";
}
}
kaOverlay.prototype.loadXml = function(string) {
this.output= string;
this.XMLloaded = true;
eval(string);
this.draw();
}
kaOverlay.prototype.init = function(url){
var defaultExtents = myKaMap.getCurrentMap().defaultExtents;
var currentExtents = myKaMap.getCurrentMap().currentExtents;
var mapName = myKaMap.getCurrentMap().name;
var geoExtents = myKaMap.getGeoExtents();
var insideLayerLeft = myKaMap.theInsideLayer.style.left;
var insideLayerTop = myKaMap.theInsideLayer.style.top;
var xOrigin = myKaMap.xOrigin;
var yOrigin = myKaMap.yOrigin;
var topLeft = myKaMap.geoToPix( defaultExtents[0], defaultExtents[3] );
topLeft[0] = topLeft[0] - xOrigin;
topLeft[1] = topLeft[1] - yOrigin;
this.topLeft = topLeft;
var bottomRight = myKaMap.geoToPix( defaultExtents[2], defaultExtents[1] );
bottomRight[0] = bottomRight[0] - xOrigin;
bottomRight[1] = bottomRight[1] - yOrigin;
var imgWidth = bottomRight[0] - topLeft[0];
this.imgWidth = imgWidth;
var imgHeight = bottomRight[1] - topLeft[1];
this.imgHeight = imgHeight;
var xmlUrl = this.kaMap.server+"XMLOverlay/xmlgetpolygon.php";
var stringaUrl =
"XMLOverlay/overlay.php?xmlUrl="+xmlUrl+"&mapName="+mapName+"&sessionId="+this.sessionId+"&imgWidth="+imgWidth+"&imgHeight="+imgHeight;
call(stringaUrl,this,this.loadXml);
}
kaOverlay.prototype.draw = function() {
for(i=0;i<this.overlayLayers.length;i++){
myKaMap.addMapLayer( this.overlayLayers[i] );
}
var insideLayerDomObj = getRawObject('theInsideLayer');
div = document.createElement( 'div' );
div.id = 'imageMapLayer';
div.className = 'imageMapLayer';
div.setAttribute('style','position:absolute;z-index:100;background-color:transparent;');
image = document.createElement( 'img' );
image.src = 'images/transparent_pix.png';
image.id = 'imageMapImage';
image.setAttribute('border','0');
image.setAttribute('style', 'position:absolute;z-index:2;width:'+this.imgWidth+'px;height:'+this.imgHeight+'px;');
image.setAttribute('usemap','#overlayMap');
mapCodeDiv = document.createElement( 'div' );
mapCodeDiv.id = 'mapCodeDiv';
mapCodeDiv.setAttribute('style', 'position:absolute;z-index:2;left:0;top:0;');
div.appendChild( mapCodeDiv );
div.appendChild( image );
insideLayerDomObj.appendChild( div );
this.reCenter();
getRawObject('mapCodeDiv').innerHTML = this.output + this.imageMap;
}
kaOverlay.prototype.clear = function(){
this.XMLloaded = false;
this.output = null;
this.sessionId= null;
if(getRawObject('theInsideLayer') && getRawObject('imageMapLayer'))getRawObject('theInsideLayer').removeChild(getRawObject('imageMapLayer'));
for(i=0;i<this.overlayLayers.length;i++){
myKaMap.removeMapLayer( this.overlayLayers[i].name );
}
this.overlayLayers= new Array();
}
kaOverlay.prototype.myOnClick = function() {
alert('testo');
}
kaOverlay.prototype.showInfo = function(obj) {
var string = "id: "+ obj.id + " | alt: "+ obj.alt + " | title: "+ obj.title;
alert( string );
}
Documentation generated by
JSDoc on Mon Feb 5 08:25:15 2007