2012-07-23 120 views
1

我在drupal 7网站上设置了openlayers。我看不到如何删除或移动地图图标。我必须编辑openlayers JS代码吗?如果是这样如何?向drupal 7 openlayers添加更多功能

我的另一个问题是,我想让一层内容(节点)成为基本层,然后让其他内容类型的其他节点成为该基本层的层。根据分类术语,我已经得到了一个带有图标/图层的多层地图,但我不知道如何设置基本层(它始终保持可见)。

我想要的基础层的节点没有与它们相关的分类。我想我可以给他们一个相同分类的术语,这样他们就会出现,但我仍然需要使它们始终在地图上充当基本层。 (希望你能跟着)

任何帮助极大的赞赏。 James

回答

1

您的问题的答案可能会变得相当复杂,所以我正在回答它的一部分。要移动图标,您可能需要更改CSS file而不是JS。我们开发了一个Web GIS portal,其中图层作为Drupal节点存储。这些节点具有与它们相关的分类术语。使用这些分类术语,图层被分类到不同的文件夹中。我们的前端使用ExtJS开发,节点/层使用后台AJAX服务调用获取。

此外,您不需要将底图存储为Drupal节点。如果您不打算支持不同的可定制基础地图,则可以在创建OpenLayer对象时直接在JavaScript中对基础地图进行硬编码。看一个例子here。并演示here

+0

其实我想要做的是有节点地图显示。在这种情况下,我会称它们为“网站”,这就是我所说的基础层,而不是地图。这些将是地图上的点或多边形。然后,我可以通过选择链接在这些“网站”上显示不同的内容,在其中显示其他图标。合理? – james 2012-07-25 15:08:00

+0

好的,我理解你正在尝试做的一些事情。如果要在地图上显示点或多边形,可以创建一个包含这些点的KML文件,并要求OpenLayers将该KML文件显示为一个图层(并且永远不要将其删除,以便始终保持可见状态)。如果您想在地图上显示其他内容,请创建另一个KML图层并将其添加到地图上。所以,现在您将在地图上同时显示两个KML图层。您可以使用OpenLayers JavaScript API根据特定条件显示您想要的图层并隐藏/显示任何图层。 – 2012-07-25 15:22:23

+0

我正在使用Drupal 7.我创建了节点并使它们作为openlayers数据视图显示的一部分显示。我试图做的是创建“网站”节点和“事物”节点在这些网站。所以我希望网站的图标留在地图上,然后能够在这些网站上切换不同的东西。我认为这些东西和网站都必须是他们自己独立的开放层数据显示。顺便说一句:我已经看到人们如何将JS添加到开放层以获得附加功能,但我不知道该把JS放到Drupal站点的openlayers上。 – james 2012-07-25 17:13:33