如何利用ASP.NET MVC模型数据构建Google Map标记所需的JavaScript数组
问题原因
你现有代码的核心问题有两个:
- 调用
push方法时直接传入了四个独立参数,会把每个参数作为单独元素插入locations数组,最终得到一维数组,和你需要的二维数组结构不符 - 经纬度参数外加了双引号,会被识别为字符串类型,不符合Google Map API要求的数字格式要求
修正代码
var locations = []; @foreach (var d in Model.Properties.Where(p=>p.Longitude!= null)) { @:locations.push(["@d.Description", @d.Latitude, @d.Longitude, @d.Id]); }
补充说明
如果点位描述(Description字段)可能包含双引号、换行等特殊字符,建议在后端先对该字段做JavaScript字符串转义处理,避免渲染后出现JS语法错误。
内容的提问来源于stack exchange,提问作者Asim Javaid
相关产品推荐
相关产品推荐

