如何通过JSON字符串在asp.net中动态映射谷歌地图上的位置数据

时间:2014-07-25 17:27:05

标签: jquery asp.net json google-maps-api-3

我使用以下脚本在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字符串不会返回到客户端。 能不能让我知道有什么遗失。

由于

1 个答案:

答案 0 :(得分:0)