Jquery在谷歌地图中绘制多个标记

时间:2013-08-02 18:22:39

标签: jquery google-maps

到目前为止

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标签中正确获取所有值。但我无法在地图上绘制所有这些值。在此先感谢您的帮助。

1 个答案:

答案 0 :(得分: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
    }); 

example