2012-09-05 97 views
1

我的搜索几乎没有任何结果。我可以找到的所有文档都是针对Drupal 6版本的。我需要弄清楚如何以编程方式呈现Openlayers地图(我假设使用openlayers_render_map函数)。最终,我想使用表单API创建一个地图,以便在匹配搜索的多个位置之间进行选择,以便我可以获取规范地址和描述确切位置的WKT字符串。如何以编程方式渲染Drupal 7中的Openlayers地图

这是一个相当开放的问题,我真正想要的是链接到一些写得很好的文档。但是,由于我得出的结论是没有这样的事情存在,更具体的问题是:如何在PHP代码中设计Openlayers地图并将其渲染到任意模板中?它会不是显示数据存储在节点中,甚至在任何地方都是永久存在的,所以使用视图是而不是的一个选项。另外,如何开始编写与地图交互的Javascript,以便选择特定位置或检索当前选定的位置?

+0

您好,我有你也有同样的问题,我发布你的问题在Drupal的论坛寻求一些帮助。 http://drupal.org/node/1955036 –

回答

1

要渲染图:

$map = openlayers_map_load('my_map'); 
$output = openlayers_render_map($map->data,$map->name); 

要与地图进行互动的JS:

var ol_map = $('.openlayers-container .openlayers-map').data('openlayers'); 
+0

没有帮助。我从'openlayers_map_load'得到什么? '$ map-> data'中是什么?允许'$ map-> name'和那个参数控制什么? '.data('openlayers')'是什么?看起来我可以用它从地图上读取。我将如何改变与JavaScript的地图? – meustrus

+1

如果您打印$输出,您将看到您的地图。 – user1669360

+0

如何查看您渲染的地图不是我评论中的问题之一。我需要知道如何改变渲染。 – meustrus

0

你确定使用的观点是不是一种选择?忍受我,因为我建议一个疯狂的想法:

做一个地图视图,其中地图本身接受经纬度/纬度作为参数(或您选择的其他地理价值),然后使地图数据视图,不真的包含任何有意义的东西。链接他们。然后直接从地理编码器发送您的地图页面参数。

我的工作了有限的成功类似的东西,但它只是觉得喜欢的事,应该是可能的...

+0

即使这解决了我的问题的第一部分,它甚至不会开始解决使地图实际上交互的问题。 – meustrus

0
$map = openlayers_map_load('your_map'); 
$map->data['layer_activated']['your_layer'] = 'your_layer'; 
$map->data['layers']['your_layer'] = 'your_layer'; 
$map->data['behaviors']['openlayers_behavior_zoomtolayer']['zoomtolayer']['your_layer'] = 'your_layer';  
$output = openlayers_render_map($map->data,$map->name); 
+1

在代码中添加一些解释 –

相关问题