OpenLayers:从URL中传递的信息中选择功能?

时间:2013-04-12 13:02:13

标签: openlayers

我已经被深深地抛弃,几乎不知道js或OpenLayers以及需要在昨天完成的绘图项目。我很喜欢OOP和其他语言的单元测试。

我有一个“拼图”型地图,分为许多有界区域(属性)。单击其中一个时,边框将突出显示。

还有一个普通的html页面,其中包含每个属性的更多信息。

我需要创建一个指向地图页面的链接,并自动突出显示属性边界,而无需用户先点击它。我可以很容易地在网址中传递一些信息,但我不知道下一步该做什么。我是否需要找到OpenLayers.Control.SelectFeature类型的对象,然后调用select方法?

谢谢:)

1 个答案:

答案 0 :(得分:0)

我们有“区域”由“单位”多边形组成。我们的用户可以从菜单中选择一个单位,该单位将在地图上突出显示。这听起来像你想要做的。

我们这样做的方式是我们有一个图层来显示区域中的所有单位多边形。 “all”图层中的每个多边形都有不同的颜色,没有边框。如果用户选择一个特定的单元,那么我们通过将where子句传递给服务器来检索第二层,这样只检索一个单元的多边形。 “单位”图层是相同的多边形填充颜色,但带有深色边框。 OpenLayers将“单元”图层覆盖在“所有”图层的顶部。

对于用户来说,看起来“单位”突出显示 - 填充从2层变暗,该单位有边框,而其他单位没有边框。我们这样做的另一个原因是用户可以选择打开或关闭“全部”图层 - 它位于基本地图图层的顶部。

听起来你可能有一个“轮廓”图层,它只有你的一个多边形的边框。这个“轮廓”图层将覆盖在基础图层的顶部,看起来就像是在突出显示某个属性的边界。

我知道这并没有回答你关于如何处理你正在考虑的方法的问题,但它为你提供了一种在某些情况下效果很好的替代方法。