1

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

这是一个相当开放的问题,我真正想要的是一个链接到一些写得很好的文档。但是,当我得出不存在这种东西的结论时,一个更具体的问题是:如何在 PHP 代码中设计 Openlayers 地图并将其呈现在任意模板中?不会显示存储在节点中的数据,甚至不会显示任何持久的数据,因此使用视图不是一个选项。此外,我如何开始编写与地图交互的 Javascript 以选择某些位置或检索当前选择的位置?

4

3 回答 3

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');
于 2012-09-13T17:24:39.133 回答
0

您确定不能使用视图吗?请耐心等待,因为我提出了一个疯狂的想法:

制作一个地图视图,其中地图本身接受 lat/lng 作为参数(或您选择的其他地理值),然后制作一个根本不包含任何有意义的地图数据视图。把他们联系起来。然后直接从您的地理编码器发送您的地图页面参数。

我正在做类似的事情,但成功有限,但感觉应该是可能的......

于 2013-02-12T17:01:59.037 回答
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);
于 2015-11-03T03:41:06.357 回答