额。。题目有点长。。。。。。
今天有个群友问我。想实现google地图地图版权随鹰眼关闭状态改变位置的功能。
就是这种
<ignore_js_op>
打开鹰眼时 地图版权也随着鹰眼位置改变而改变
<ignore_js_op>
主要是修改两个地方,这里改下源码,当然大家不想改源码采用打补丁的方式就可以了
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>
<ignore_js_op>
当然实现方式 多种多样了。这只是最简单的一种。关于openlayers鹰眼的改造和美化 见
http://www.openlayers.cn/portal.php?mod=view&aid=35