从 AJAX 在 JavaScript 中创建一个列表

create a list in javascript from AJAX

本文关键字:一个 列表 创建 AJAX JavaScript      更新时间:2023-09-26

嗨,我有一个函数,可以从 XML 数据中获取信息并在谷歌地图上打印标记我的问题是我想在一点到另一点之间创建一条路径这是检索数据
的代码 `

  $.ajax({
                type:"POST",
                url:"PipeServlet?op=1",
                dataType:"xml",
                success: function(xml){
                    // Parses the data from xml
                    var newLat, newLon, newDesc,newName;
                    $(xml).find("deal").each(function(){
                        newName = $(this).find("name").text();
                        newLat = $(this).find("lat").text();
                        newLon = $(this).find("lon").text();
                        newDesc = $(this).find("desc").text();
                        // Displaying the Coupons on the map
                        marker = new google.maps.Marker({
                            position: new google.maps.LatLng(newLat,newLon),
                            map: map,
                            title: newName,
                            html: newDesc,
                            animation: google.maps.Animation.DROP
                        });`

所以我想将我检索的日期添加到列表中并绘制一条线,如下所示的代码:

mapLine = new google.maps.Polyline({map : map,
                                        strokeColor   : '#ff0000',
                                        strokeOpacity : 0.6,
                                        strokeWeight  : 4,
                                        path:[new google.maps.LatLng(33.240547551860935,35.6153623373566),new google.maps.LatLng(33.240009149357576,35.61381738496402)]
                                       });`

我希望以动态方式创建path:[new google.maps.LatLng(33.240547551860935,35.6153623373566),new google.maps.LatLng(33.240009149357576,35.61381738496402)]行 感谢您的帮助

构建一个数组: var path = new Array();

并在其末尾添加您的对象:path.push(position);

$.ajax({
            type:"POST",
            url:"PipeServlet?op=1",
            dataType:"xml",
            success: function(xml){
                // Parses the data from xml
                var newLat, newLon, newDesc,newName;
                var path = new Array();
                $(xml).find("deal").each(function(){
                    newName = $(this).find("name").text();
                    newLat = $(this).find("lat").text();
                    newLon = $(this).find("lon").text();
                    newDesc = $(this).find("desc").text();
                    var position = new google.maps.LatLng(newLat,newLon);
                    path.push(position);
                    // Displaying the Coupons on the map
                    marker = new google.maps.Marker({
                        position: position,
                        map: map,
                        title: newName,
                        html: newDesc,
                        animation: google.maps.Animation.DROP
                    });
                ...
                });
                mapLine = new google.maps.Polyline({map : map,
                                strokeColor   : '#ff0000',
                                strokeOpacity : 0.6,
                                strokeWeight  : 4,
                                path:path
                });
                ...