【发布时间】:2018-04-16 22:05:47
【问题描述】:
我正在使用OpenStreetMap 将搜索结果添加到地图中。对于每个返回的搜索结果,我需要在地图上绘制纬度和经度:
L.marker([39.616886,-86.310997]).addTo(map)
.bindPopup('the institutions name')
.openPopup();
如何在 forEach 循环中执行此操作?这是我尝试过的,但出现错误:
名称 L 在当前上下文中不存在。
@foreach (var u in Model.listschools)
{
L.marker([@u.lat, @u.longt]).addTo(map)
.bindPopup(@u.instnm)
.openPopup();
}
【问题讨论】:
-
先将模型转换为 javascript 数组 -
var list = @Html.Raw(Json.Encode(Model.listschools));,然后在脚本中循环 -
@StephenMuecke 为什么要这样做?像 OP 一样在 C# 中执行此操作要好得多,除非您想节省服务器资源并让客户端的机器完成工作。对于这种没有处理的简单代码,如果有的话,也没有什么可保存的,所以根本不值得考虑。
-
尝试用
<text></text>标签包裹它。 -
@RacilHilan - 你是认真的 - OP 代码是 javascript!
-
@StephenMuecke 是的,我是认真的,我看起来像在开玩笑吗? :)。不,OP 的代码不是 JavaScript。它是 C# Razor 和 JavaScript 的混合体。那你的意思是什么? :P
标签: javascript c# .net asp.net-mvc razor