2

这张地图中,我添加了一行代码以使其缩放到矢量图层:

map.zoomToExtent(vector_Layer.getDataExtent());

这将在赤道与格林威治子午线相交的几内亚湾点放大到最大放大倍数。它不应该在这里放大,它应该显示苏格兰。

我已经在 Chrome 的控制台中传递了相同的代码,并且效果很好。也许,直到页面加载后它才会起作用。有谁知道为什么页面加载时它不能正常工作,有谁知道我可以做些什么来修复它?

谢谢

4

1 回答 1

2

你是对的; 有时脚本需要加载页面元素(并显示在 中DOM)才能对其进行操作。我将从尝试以下两种方法之一开始:

  1. 将您的 JS<script>标记移到页面底部,并移出head. 将它们放在结束body标签之前,看看是否有效。这样,您的页面就有时间加载(这是一种非常常见的做法)。

  2. onLoad或者,您可以在事件中调用此函数。您可以在此处阅读有关如何使用它的信息。

更新:

如果上述解决方案不起作用,请查看以下资源。看起来还有其他一些方法可以找到 OpenLayers 地图的“加载”事件:

http://lists.osgeo.org/pipermail/openlayers-users/2012-April/024858.html https://gis.stackexchange.com/questions/10671/register-event-loadend-on-layer

祝你好运!

于 2013-07-02T18:44:36.133 回答