GeoView : Some cleaning. Some corrections with googlev3 crosshair.

Resizing now ok with a new crosshair implementation for googlev3.


svn: r15705
This commit is contained in:
Serge Noiraud
2010-08-11 18:00:18 +00:00
parent 864c79e446
commit b2886e3dad
3 changed files with 86 additions and 74 deletions

View File

@@ -320,36 +320,50 @@ Mapstraction: {
addCrosshair: function(Cross, crosshairSize, divid) {
var map = this.maps[this.api];
if ( map.init == true ) {
cross=document.getElementById("Googlev3_Control_CrossHair");
cross.style.visibility = 'visible';
return map.crosshair;
};
if ( map.init == true ) {
cross=document.getElementById("Googlev3_Control_CrossHair");
cross.style.visibility = 'visible';
return map.crosshair;
};
var container = map.getDiv();
map.divid=divid;
// Create a div to hold the control.
var controlDiv = document.createElement('DIV');
controlDiv.style.padding = '0px';
controlDiv.style.width='100%';
controlDiv.style.height='100%';
var controlUI = document.createElement('DIV');
controlUI.style.padding = '0px';
controlUI.style.width='100%';
controlUI.style.height='100%';
controlDiv.appendChild(controlUI);
// Create a crosshair.
var crosshair=document.createElement("img");
crosshair.id = "Googlev3_Control_CrossHair";
crosshair.id = "Googlev3_Control_CrossHair";
crosshair.src=Cross;
crosshair.style.width=crosshairSize+'px';
crosshair.style.height=crosshairSize+'px';
crosshair.style.border='0';
crosshair.style.position='fixed';
this.X = (parseInt(container.offsetWidth) / 2)+8-(crosshairSize / 2) + 'px';
this.Y = (parseInt(container.offsetHeight) / 2)+8-(crosshairSize / 2) + 'px';
crosshair.style.top=this.Y;
crosshair.style.left=this.X;
olbox=document.getElementById(divid);
crosshair.style.margin=-(crosshairSize / 2) + 'px';
crosshair.style.top='50%';
crosshair.style.left='50%';
crosshair.style.visibility = 'visible';
crosshair.style.zIndex='1500';
container.appendChild(crosshair);
controlUI.appendChild(crosshair);
container.appendChild(controlDiv);
map.crosshair=crosshair;
map.init = true;
return crosshair;
map.init = true;
return controlDiv;
},
removeCrosshair: function(element) {
var map = this.maps[this.api];
if ( map.init == true ) {
cross=document.getElementById('Googlev3_Control_CrossHair');
cross.style.visibility = 'hidden';
};
if ( map.init == true ) {
cross=document.getElementById('Googlev3_Control_CrossHair');
cross.style.visibility = 'hidden';
};
},
mousePosition: function(element) {

View File

@@ -362,52 +362,50 @@ mxn.register('openlayers', {
addCrosshair: function(Cross, crosshairSize, divid) {
var map = this.maps[this.api];
if ( map.init == true ) {
cross=document.getElementById('OpenLayers_Control_CrossHair');
cross.style.visibility = 'visible';
return map.centerIcon
};
var centerIcon = document.createElement('div');
centerIcon.style.width='100%';
centerIcon.style.height='100%';
centerIcon.style.zIndex ='1500';
var imgLocation=OpenLayers.Util.getImagesLocation();
var sz=new OpenLayers.Size(crosshairSize,crosshairSize);
var img=Cross;
function crosshairResize() {
//var olbox = document.getElementById("geo-map");
var olbox = document.getElementById(divid);
this.X = (parseInt(olbox.offsetWidth) / 2)-(crosshairSize / 2) + 'px';
this.Y = (parseInt(olbox.offsetHeight) / 2)-(crosshairSize / 2) + 'px';
cross=document.getElementById('OpenLayers_Control_CrossHair');
cross.style.top=this.Y;
cross.style.left=this.X;
};
var olbox = document.getElementById("geo-map");
var olbox = document.getElementById(divid);
map.CrossHair=OpenLayers.Util.createAlphaImageDiv(
"OpenLayers_Control_CrossHair",null,sz,img,"absolute");
map.CrossHair.style.zIndex ='1500';
olbox.addEventListener("load",crosshairResize,true);
OpenLayers.Element.addClass(map.CrossHair,"CrossHair");
OpenLayers.Control.Crosshair = OpenLayers.Class.create();
centerIcon.id = "mapCenter";
viewport=document.getElementById('OpenLayers.Map_2_OpenLayers_ViewPort')
viewport.appendChild(centerIcon);
centerIcon.appendChild(map.CrossHair);
crosshairResize();
map.init=true;
map.centerIcon=centerIcon
return centerIcon
if ( map.init == true ) {
cross=document.getElementById('OpenLayers_Control_CrossHair');
cross.style.visibility = 'visible';
return map.centerIcon
};
var centerIcon = document.createElement('div');
centerIcon.style.width='100%';
centerIcon.style.height='100%';
centerIcon.style.zIndex ='1500';
var imgLocation=OpenLayers.Util.getImagesLocation();
var sz=new OpenLayers.Size(crosshairSize,crosshairSize);
var img=Cross;
function crosshairResize() {
var olbox = document.getElementById(divid);
this.X = (parseInt(olbox.offsetWidth) / 2)-(crosshairSize / 2) + 'px';
this.Y = (parseInt(olbox.offsetHeight) / 2)-(crosshairSize / 2) + 'px';
cross=document.getElementById('OpenLayers_Control_CrossHair');
cross.style.top=this.Y;
cross.style.left=this.X;
};
var olbox = document.getElementById(divid);
map.CrossHair=OpenLayers.Util.createAlphaImageDiv(
"OpenLayers_Control_CrossHair",null,sz,img,"absolute");
map.CrossHair.style.zIndex ='1500';
olbox.addEventListener("load",crosshairResize,true);
OpenLayers.Element.addClass(map.CrossHair,"CrossHair");
OpenLayers.Control.Crosshair = OpenLayers.Class.create();
centerIcon.id = "mapCenter";
viewport=document.getElementById('OpenLayers.Map_2_OpenLayers_ViewPort')
viewport.appendChild(centerIcon);
centerIcon.appendChild(map.CrossHair);
crosshairResize();
map.init=true;
map.centerIcon=centerIcon
return centerIcon
},
removeCrosshair: function(crosshair) {
var map = this.maps[this.api];
if ( map.init == true ) {
cross=document.getElementById('OpenLayers_Control_CrossHair');
cross.style.visibility = 'hidden';
};
return 0;
if ( map.init == true ) {
cross=document.getElementById('OpenLayers_Control_CrossHair');
cross.style.visibility = 'hidden';
};
return 0;
},
mousePosition: function(element) {