« 在编辑 Geometry 时,不可用该操作-MapXtreme问题百度云网盘MapInfo Professional 7.0 中文汉化破解版下载 »

MapXtreme 2008水印处理方案

 目前MapXtreme 2008的破解版无法消除水印。既然无法去除,只好选择土点的方法,把水印完全遮盖住就行了。

         本人共使用了3个DIV.
         第一步:放置DIV
         第一个DIV用来存放map控件,第二个DIV放在MAP上用于覆盖MAP,与map同大小。在overlay再嵌个div,高度与水印高度相同,遮住水印。OK,水印没了。
         第二步更改代码:        
          在interaction.js中加入代码,使拖动时overlay与地图图片一同移动,这样就实现了拖动时也不会出现水印。
修改DragInteraction.prototype.OnMove、DragInteraction.prototype.OnUp即可。
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
//aspx代码
 
<div id="mapprediv" style="z-index = 1">
    <cc1:MapControl ID="MapControl1" runat="server" Height="248px" Width="393px"  MapAlias="Map1"/>
    </div>
    
    <div id ="overlay" 
        style="position:absolute; left:0;top:0;Height:248px;Width:393px;">
        <div id="overlay_top"
        style="position:absolute; left:0;top:0;Height:2px;Width:393px;">
          <table width="100%" border="0" height="100%" bgcolor="#FF0000">
            <tr>
              <td>&nbsp;</td>
            </tr>
          </table>
      </div>
    </div>
 
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
//js代码
 
DragInteraction.prototype.OnUp = function(e) {
    if (this.drag) {
        this.element.style.position = 'relative';
        this.element.style.left = 0;
        this.element.style.top = 0;
        this.element.zindex = 1;
        this.element.style.clip = 'rect(' + 0 + ' ' + this.element.width + ' ' + this.element.height + ' ' + 0 + ')';
        this.PointsData.AddPoint(e.clientX + GetScrollLeft(this.element), e.clientY + GetScrollTop(this.element));
        if (this.onComplete) this.onComplete();
        this.PointsData.Clear();
        this.drag = false;
 
        ///////////////////////////////////////
        //处理盖住本控件的DIV
        var o = FindElement("overlay");
        if (o) {
            //设置定位方式
            o.style.position = 'absolute';
            //设置位置
            o.style.left = 0;
            o.style.top = 0;
            //设置显示区域
            o.style.clip = 'rect(' + 0 + ' ' + this.element.width + ' ' + this.element.height + ' ' + 0 + ')';
            //设置显示顺序
            o.zindex = 1000;
        }
        //控制地图所在DIV
        var p = FindElement("mapprediv");
        if (p) {
            p.zindex = 1;
            p.style.position = 'absolute';
        }
    }
}
 
DragInteraction.prototype.UpdateIE = function(element, startPoint, currentPoint)
{
    var clipTop, clipRight, clipBottom, clipLeft;
    var currentLeft, currentTop, currentRight, currentBottom;
    
    // Calculate absolute current coordinates of the image
    currentLeft = element.origin.x + (currentPoint.x - startPoint.x);
    currentTop = element.origin.y + (currentPoint.y - startPoint.y);
    currentRight = currentLeft + element.width;
    currentBottom = currentTop + element.height;
    element.BorderWidth = 2;
 
    // Check to see if image goes out of bounds, and if so, set the clipping 
    // parameters
    if ( currentTop > element.origin.y ) {
        clipTop = 0;
    } else {
        clipTop = element.origin.y - currentTop;
    }
    if (currentRight > (element.origin.x + element.width)) {
        clipRight = (element.origin.x + element.width) - currentLeft - element.BorderWidth;
    } else { 
        clipRight = currentRight - currentLeft - element.BorderWidth;
    }
    if (currentBottom > (element.origin.y + element.height)) { 
        clipBottom = (element.origin.y + element.height) - currentTop - element.BorderWidth;
    } else {
        clipBottom = currentBottom - currentTop - element.BorderWidth;
    }
    if (currentLeft > element.origin.x) {
        clipLeft = 0;
    } else {
        clipLeft = element.origin.x - currentLeft;
    }
    // Set the map image's style parameters to actually move the image    
    element.style.position = "absolute";
    element.style.left = (currentLeft - element.origin.x) + 'px';
    element.style.top = (currentTop - element.origin.y) + 'px';    
    element.style.clip = 'rect(' + clipTop + 'px, ' +  clipRight + 'px, ' + clipBottom + 'px, ' + clipLeft +'px)';
    this.drag = true;
    ///////////////////////////////////////
    //处理盖住本控件的DIV
    var o = FindElement("overlay");
    if (o) {
        //设置定位方式
        o.style.position = 'absolute';
        //设置位置
        o.style.left = (currentLeft - element.origin.x) + 'px';
        o.style.top = (currentTop - element.origin.y) + 'px';
        //设置显示区域
        o.style.clip = 'rect(' + clipTop + 'px, ' + clipRight + 'px, ' + clipBottom + 'px, ' + clipLeft + 'px)';
        //设置显示顺序
        o.zindex = 1000;
    }
    //控制地图所在DIV
    var p = FindElement("mapprediv");
    if (p) {
        p.zindex = 1;
        p.style.position = 'absolute';
    }    
}