我添加了一行代码,使其缩放到矢量图层:
map.zoomToExtent(vector_Layer.getDataExtent());
这缩放到赤道与格林威治子午线相交的几内亚湾点的最大变焦。它不应该放大这里,它应该显示苏格兰。
我在Chrome控制台中传递了相同的代码,效果很好。也许,它直到页面加载后才能工作。有没有人知道为什么它在页面加载时不能正常工作,并且有人知道我能做些什么来修复它吗?
由于
答案 0 :(得分:2)
你是对的;偶尔脚本需要加载页面元素(并在DOM
中出现),然后才能对它们进行操作。我首先尝试这两种方法之一:
将您的JS <script>
标记移至页面底部,并移出head
。将它们放在结束body
标记之前,看看是否有效。这样,您的页面就有时间加载(这是一种非常常见的做法)。
或者,您可以在onLoad
事件中调用此函数。您可以阅读有关如何使用它的信息here。
更新:
如果上述解决方案不起作用,请查看以下资源。看起来有一些其他方法可以找到OpenLayers地图的“已加载”事件:
http://lists.osgeo.org/pipermail/openlayers-users/2012-April/024858.html https://gis.stackexchange.com/questions/10671/register-event-loadend-on-layer
祝你好运!