【问题标题】:How to map location data on google map dynamically in asp.net through JSON string如何通过JSON字符串在asp.net中动态映射谷歌地图上的位置数据
【发布时间】: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


【解决方案1】:

【讨论】: