templates - mako 和 Openlayers 之间的变量替换冲突

标签 templates openlayers mako

我在金字塔中使用 mako 模板,它使用 ${} 构造进行变量替换。我还使用 Openlayers 脚本来显示包含要素的 map 。我想使用 Stylemap 来设计我的功能,如下所示:

var symbolizer = OpenLayers.Util.applyDefaults(
    {externalGraphic: "images/${thumbnail}.png", pointRadius: 20},
    OpenLayers.Feature.Vector.style["default"]);
var styleMap = new OpenLayers.StyleMap({"default": symbolizer, "select": {pointRadius: 30}});
var vectorLayer = new OpenLayers.Layer.Vector("thumbs", {styleMap: styleMap});
...
vectorLayer.features[0].attributes.thumbnail="sight";
vectorLayer.features[1].attributes.thumbnail="bar";

另请参阅The OpenLayers Styles Framework .

我遇到的问题是,mako 将 Openlayers ${} 变量解释为其自己的变量,并且我从服务器收到“NameError:未定义”。我搜索了一段时间但没有找到解决方案。

最佳答案

我发现的最简洁的解决方案是:

  • “图片/$${}{缩略图}.png”

为了完整起见,tonio 在帖子中提到的内容是:

  • “图片/<%text>${缩略图}.png”
  • “图片/${”$“}{缩略图}.png”

关于templates - mako 和 Openlayers 之间的变量替换冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6044057/

相关文章:

python - 使用正则表达式匹配 HTML 中的一对注释

具有侵入式链表的 C++ 循环依赖

javascript - OpenLayers 4 城市坐标中心 map

python - 关于 Mako 模块、Mako 的 TemplateLookup 函数和 Pyramid 的一些问题

openlayers - 边界如何在 OpenLayers 3 中工作?

javascript - 如何从本地服务器读取 Openlayers "EarthQuakes in KML"的 KML 文件?

python - Sprox 形式与 Turbogears,使用 Mako,仅显示纯文本

c++ - 固定尺寸表

c++ - 模板类特化缺少成员

c++ - 了解 _countof 宏