额。。题目有点长。。。。。。
今天有个群友问我。想实现google地图地图版权随鹰眼关闭状态改变位置的功能。
就是这种
<ignore_js_op>openlayers模仿google地图--地图版权随鹰眼关闭打开而改变位置-LMLPHP

打开鹰眼时  地图版权也随着鹰眼位置改变而改变

<ignore_js_op>openlayers模仿google地图--地图版权随鹰眼关闭打开而改变位置-LMLPHP

主要是修改两个地方,这里改下源码,当然大家不想改源码采用打补丁的方式就可以了

1.修改OpenLayers.Control.Attribution 源码  或打补丁updateAttribution
在updateAttribution函数中this.div.innerHTML上面增加如下代码
           //增加 by飞龙在天
            this.div.style.bottom = "2px";
            this.div.style.right = "15px";
            this.div.id = "Attribution";
            this.div.unselectable = "on";
2修改OpenLayers.Control.OverviewMap  源码或打补丁maximizeControl和minimizeControll
maximizeControl函数中this.element.style.display = '';下面增加一行代码

document.getElementById("Attribution").style.right = "220px";

修改minimizeControll函数中this.element.style.display= 'none';下面增加一行代码
document.getElementById("Attribution").style.right = "40px";

3. 在layer中属性增加attribution 为显示内容就ok了

最后效果如下  Provided by OpenStreetMap就随 鹰眼关闭打开而改变位置了
<ignore_js_op>openlayers模仿google地图--地图版权随鹰眼关闭打开而改变位置-LMLPHP

<ignore_js_op>openlayers模仿google地图--地图版权随鹰眼关闭打开而改变位置-LMLPHP

当然实现方式 多种多样了。这只是最简单的一种。关于openlayers鹰眼的改造和美化 见
http://www.openlayers.cn/portal.php?mod=view&aid=35

05-06 06:52