0

ここで JavaScript オブジェクトに関する記事をいくつか見つけましたが、まだコツがつかめていないようです。以下に示すように、JSON文字列をjavascriptオブジェクトに変換しました。

public class LinePoint {
    public string Latitude { get; set; }
    public string Longitude { get; set; }
    public int Pointnumber { get; set; }
}

public class PolyLine {
    public List<LinePoint> LinePoints { get; set; }
    public int PolyLineNumBer { get; set; }
}

public class RootObject {
    public List<PolyLine> PolyLines { get; set; }
}

リスト アイテムごとにすべての緯度と経度のプロパティを取得して、Google マップ コントロールにポリラインとしてプロットしたいので、以下のコードをマップの初期化に追加しました。オブジェクトをループする方法がわかりません。

これまでの私のコードは次のとおりです。

var line = JSON.parse(document.getElementById('hdfPolyLines').value);
var path = [];

$.each( /* Listitem in rootobject */) {
    //  Parse the array of LatLngs into Gmap points
    for( /* each latlong in the list of listitems */ ){
        path.push(new google.maps.LatLng( // Latitude en Longitude properties from listitems */ ));
    }
    var polyline = new google.maps.Polyline({
        path: path,
        strokeColor: '#ff0000',
        strokeOpacity: 1.0,
        strokeWeight: 3
    });

    polyline.setMap(map);
});

JavaScriptオブジェクトをループしてプロパティ値を取得する方法を教えてくれる人がいますか?

4

2 に答える 2

0

jQuery を使用していると仮定すると、ループに $.each を使用できます。このようなものが動作するはずです:

    var line = JSON.parse(document.getElementById('hdfPolyLines').value);

    $.each(line.PolyLines, function(polyLineIndex, polyLineValue) {

        var path = Array();

        $.each(polyLineValue.LinePoints, function (linePointIndex, linePointValue) {

            path.push(new google.maps.LatLng(linePointValue.Latitude, linePointValue.Longitude));
        });

        var polyline = new google.maps.Polyline({
            path: path,
            strokeColor: '#ff0000',
            strokeOpacity: 1.0,
            strokeWeight: 3
        });

        polyline.setMap(map);
    });
于 2012-11-29T20:34:28.303 に答える
0

html 文書の文書構造に関する情報が不足しています。

しかし、私は助けようとします:

$("#rootitemid").children().each(function(){
    var value= $(this).html(); 
    //..
});

前の例は、html ドキュメント内の要素をループします。

for(key in objs){
    var value= objs[key];
    //..
}

前のコードは、javascript オブジェクトをループします。

于 2012-11-29T11:42:36.883 に答える