【发布时间】:2012-09-10 00:55:34
【问题描述】:
我已经尝试让它工作很长时间了:
{% for record in records %}
var GPSlocation = "(37.7699298, -93.4469157)";
var LatLng = GPSlocation.replace("(", "").replace(")", "").split(", ")
var Lat = parseFloat(LatLng[0]);
var Lng = parseFloat(LatLng[1]);
var markerLatlng = new google.maps.LatLng(Lat, Lng);
var marker = new google.maps.Marker({
position: record.GPSlocation,
title: record.title
});
//add the marker to the map
marker.setMap(map);
{% endfor %}
当我在其中对变量进行硬编码时,它工作得很好,但否则我不会做任何事情。当我只是在 html 中将它们打印出来时,我在记录变量中拥有了我想要的所有数据,但是当我尝试在 JavaScript 中使用它时,它就不起作用了。有什么想法吗?
所以我需要在 Jinja2 系统上放置一个 JSON 编码过滤器,我猜它看起来像这样:
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir),
jinja_env.filters['json_encode'] = json.dumps,
autoescape = True)
【问题讨论】:
-
示例中没有使用
record。目前尚不清楚您的问题是什么,或者您要完成什么。另请注意,javascript 不会与模板标记交互。 -
@Marcin 哎呀抱歉,我刚刚复制了我的硬编码版本,但我刚刚修复了它。我正在尝试访问记录的属性来设置标记值
-
如果 Javascript 不与 jinja2 标记语言交互,您建议如何在其中获取该信息?
-
正如 icktoofay 向您展示的那样,您必须评估标记变量才能将其值粘贴到您生成的 javascript 中。
标签: javascript python google-maps-api-3 jinja2