如何在 Drupal 7 中以编程方式渲染 Openlayers 地图

问题描述 投票:0回答:4

我的搜索几乎一无所获。我能找到的所有文档都是针对 Drupal 6 版本的。我需要弄清楚如何以编程方式渲染 Openlayers 地图(我假设使用

openlayers_render_map
函数)。最终,我想使用表单 API 创建一个地图,以便在与搜索匹配的多个位置之间进行选择,以便我可以获得规范地址和描述确切位置的 WKT 字符串。

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

drupal drupal-7 openlayers
4个回答
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
投票

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

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


0
投票


0
投票
在文档中找到的

,并在我自己的项目中成功使用: //$map_name = your map name $map = \Drupal\openlayers\Openlayers::load('map', $map_name); $rendered = $map->render();

为了“即时”生成地图,
OL3 API

似乎有允许这样做的钩子。

© www.soinside.com 2019 - 2024. All rights reserved.