将包含纬度和经度的多边形点的字符串更改为leaflet.js可接受的格式

时间:2018-11-26 19:53:25

标签: javascript dictionary leaflet

我有一个如下字符串:

“ [[[38.0331941572647,46.4061641693115],[38.0330673980052、46.4073014259338],[38.0342335749183,46.4073550701141],[38.0342166739362,46.4078593254089],[38.0355011374604、46.4079129695892],[38.0357461970214] >

通过服务器端通过ajax请求通过以下代码发送到javascript:

$.ajax({
            type: "POST",
            url: "_Index.aspx/GetPolygons",
            data: '{}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: OnSuccessLoadPolygons,
            failure: function (response) {
                //alert(response.d);
            },
            error: function (response) {
                //alert(response.d);
            }
        });

在成功请求后,我正在使用传单库在地图上绘制多边形,如下所示:

function OnSuccessLoadPolygons(response) {
        var polygons = response.d;
        $(polygons).each(function () {              
            L.polygon(latlngs, { color: 'aqua' }).addTo(mymap);
                      });
    }

但不幸的是,传单可接受的格式如下:

[[38.0331941572647,46.4061641693115],[38.0330673980052,46.4073014259338],[38.0342335749183,46.4073550701141],[38.0342166739362,46.4078593254089],[38.0355011374604,46.4079129695892],[38.035746728214]

,不带双引号。 如何将我的字符串解析为传单可接受的格式?

1 个答案:

答案 0 :(得分:0)

我如下更改了代码:

L.polygon(JSON.parse(latlngs),{color:'aqua'})。addTo(mymap); });

问题解决了...