按理说,做一个鹰眼不是很简单的事情吗?可是我用下面这三行做的鹰眼,却不行!
var overview1 = new OpenLayers.Control.OverviewMap();
map.addControl(overview1);
overview1.maximizeControl();
不行在哪里呢?这个鹰眼所涉及的范围,只是我图层中央一个很小的区域!奇怪吧?比如我的图层是辽宁地图,这个鹰眼只显示鞍山周边很小一块区域!所以在图层全显示的时候,这个鹰眼啥也看不出来,红框是充满鹰眼的。只有我把图层放大到1:1800M,而且移动到鞍山附近时,鹰眼才算活了,红框才变小了,可以移动了。
这是咋回事呢?
------解决方案--------------------
你放大到最大的时候鹰眼不显示,但是你的图层能正常显示吗?
另外你用 overview1.maximizeControl(); 做什么?是不是因为以前你把它隐藏了?
------解决方案--------------------
你地图的baselayer是透明的吗?就是transparent是不是true?如果是的话鹰眼一开始只显示蓝筐
------解决方案--------------------
还有就是你那个很小的区域(鞍山附近)是不是在另外的图层?如果是的话可能要从baselayer找原因了
------解决方案--------------------
我所知的有下面几个原因
1.wms 连接不成功
2.baselayer 设置成透明
3.投影设置不对
其他原因也有可能吧,我就列了我经历过的
------解决方案--------------------
maxExtent: new OpenLayers.Bounds(21302341.136, 4418321.164, 21600651.728, 4669627.718)
和
projection: "EPSG:4326"
好像不符吧,这个bounds不是EPSG:4326的,参看
http://spatialreference.org/ref/epsg/4326/
------解决方案--------------------
根据你的答案刚才上网查了一下,如果map不是默认属性,OverviewMap控件的属性设置也要和map属性设置相符,这也许是不能显示的原因吧?以前做图还真没遇到过这种情况。谢谢你分享方法