2013-08-02 67 views
0

這是至今的Jquery在谷歌繪製多個標記映射

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標籤中正確獲取所有值。但我無法在地圖上繪製所有這些值。預先感謝您的幫助。

回答

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