1

すべての要素features内の配列の各値にアクセスするにはどうすればよいですか? 私はそれを次のように試しました:condohouse

attr.features.name,

...しかしundefined、Webコンソールにポップアップします。

JSON :

({condos:[{Address:'123 Fake St.', Lat:'56.645654', Lng:'23.534546', features:[{id:'1', name:'Swimming Pool'},{id:'2', name:'BBQ'},{..etc..}]},{... another condo ...},{...}],houses:[{Address:'1 Main Ave.', Lat:'34.765766', Lng:'27.8786674', features:[{...},{...}]},{... another house ...}, {...}]})

コード:

    $.each(markers, function(type, elements) {
        $.each(elements, function(index, attr){
            // if it's a house - make house marker. if it's a condo - make condo marker.
            if (type == 'houses') {
                $('#map').gmap('addMarker', { 'features': attr.features.name, 'position': new google.maps.LatLng(parseFloat(attr.lat), parseFloat(attr.lng)), 'bounds':true, 'icon':'house.png' });
            }
            else if (type == 'condos') {
                $('#map').gmap('addMarker', { 'features': attr.features.name, 'position': new google.maps.LatLng(parseFloat(attr.lat), parseFloat(attr.lng)), 'bounds':true, 'icon':'condo.png' });
            }
        });
    });
4

1 に答える 1

1

2 つの配列を持つオブジェクトがあります。各配列に個別にアクセスする必要があります

$(markers.condos).each(function(index, elem) {
    $('#map').gmap('addMarker', {
        'features': elem.features,
        'position': new google.maps.LatLng(parseFloat(elem.lat), parseFloat(elem.lng)),
        'bounds': true,
        'icon': 'condo.png'
    });
});​

そして同じmarkers.houses

于 2012-06-13T14:23:10.150 に答える