【发布时间】:2026-01-12 18:40:02
【问题描述】:
我正在使用以下脚本在 Google 地图上显示位置:
<script type="text/javascript">
$(document).ready(function () {
var markersdetails = {
"Iran": {
"title": "Iran",
"lat": "32.000000",
"lng": "53.000000",
"infodata": "sample 1"
},
"Italy": {
"title": "Italy",
"lat": "41.9000",
"lng": "12.483",
"infodata": "sample 2"
}
}
MapLocation(markersdetails);
});
function MapLocation(objmarkersdetails) {
//This function contains functionality to map location on google map
}
</script>
效果很好。 现在我想从数据库中动态获取位置数据,所以我在后面的代码中编写以下代码并进行 ajax 调用,但 位置数据现在没有映射/固定在谷歌地图上。
客户端
$.ajax({
type: "POST",
url: "/utilities/GetLocation.aspx/GetLocationInJSON",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
var markersdetails = {};
markersdetails = result.d;
MapLocation(markersdetails);
},
error: function (error) {
alert("Error" + error.responseText);
}
});
代码背后
[WebMethod]
public static string GetLocationInJSON()
{
StringBuilder sbLocation = new StringBuilder();
//main start
sbLocation.Append("{");
sbLocation.Append("'Iran': {");
sbLocation.Append("'title': 'Iran',");
sbLocation.Append("'lat': '32.000000',");
sbLocation.Append("'lng': '53.000000',");
sbLocation.Append("'infodata': 'sample 1'");
sbLocation.Append("}");
sbLocation.Append("}");
return sbLocation.ToString();
}
我认为通过这种方法正确的 JSON 字符串不会返回到客户端。 能否请您告诉我是否缺少某些内容。
谢谢
【问题讨论】:
-
你似乎只是在构建和回复
string,所以检查result(在这种情况下result.d是什么?)Hth.. -
result.d 值为
{'Iran': {'title': 'Iran','lat': '32.000000','lng': '53.000000','infodata': 'sample 1'}} -
MapLocation函数声明在哪里,如果您记录 ajax 响应,result的内容是什么?
标签: jquery asp.net json google-maps-api-3