0

这是到目前为止

function xmlParser(xml) {

    $('#load').fadeOut();

    $(xml).find("da").each(function () {

        $(".main").append('<div class="data"><div class="name">Name ' + $(this).find("name").text() + '</div><div class="latitude">Latitude ' + $(this).find("lat").text() + '</div><div class="longitube">Longitude ' + $(this).find("lng").text() + '</div></div>');
        $(".data").fadeIn(1000);
        var lat = parseFloat($(this).find('lat').text());     
        var lng = parseFloat($(this).find('lng').text()); 
        //var lat=parseFloat(latt);

        //var lng=parseFloat(lngg);
        $("#map").goMap({ 
           markers: [{  

                latitude: lat , 
                longitude: lng , 
                html: { 
                    id: '.data', 
                    popup: true 
                }   

            },{
                latitude: lat , 
                longitude: lng , 
                html: { 
                    id: '.data', 
                    popup: true 
                } 
            }
            ]
        }); 

    });



}

xml文件是

<Data>
<da>
<id>1</id>
<name>vidyavihar</name>
<lat>54.9488</lat>
<lng>21.704</lng>
</da>
<da>
<id>2</id>
<name>atyty</name>
<lat>47.1234</lat>
<lng>10.1234</lng>
</da>
<da>
<id>3</id>
<name>uiuiu</name>
<lat>48.124</lat>
<lng>12.94</lng>
</da>
</Data>

我想根据 xml 文件中提供的纬度和经度绘制标记。我使用的函数完全按照我想要的方式循环,我在创建的 div 标签中正确获取所有值。但我无法在地图上绘制所有这些值。提前感谢您的帮助。

4

1 回答 1

0

您正在为 XML 中的每个条目创建一个新映射。处理 XML 中的条目,将它们推送到一个数组中,然后创建一次映射。

     var markers = [];

     $(d).find("da").each(function () {

       var lat = parseFloat($(this).find('lat').text());     
       var lng = parseFloat($(this).find('lng').text()); 
       markers.push({latitude: lat,
                  longitude: lng,
                  html: { id: '.data',
                          popup: true
                  }});
     });

     $("#map").goMap({ 
       markers: markers
    }); 

例子

于 2013-08-02T22:19:02.770 回答