2011-11-09 227 views
0

我想使用下面的代碼將一些標記推入谷歌地圖。但它似乎不工作。地圖被集中到正確的位置,但我可以看到標記。谷歌地圖API多個標記

var points = [<asp:literal runat="server" id="litPoints"/>]; 

    $(document).ready(function() { 
     var mapCenter = new google.maps.LatLng(<asp:literal runat="server" id="litMapCentre"/>); 
      var options = { 
       zoom:<asp:literal runat="server" id="litZoomLevel"/>, 
       center: mapCenter, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      }; 


     var map = new google.maps.Map($("#monitorMap")[0], options);   
     GetMap(map, points); 
    }); 






    function GetMap(map, mappoints) {  

     var image=new google.maps.MarkerImage('../Images/map/iconr.png', 
        new google.maps.Size(20,32), 
        new google.maps.Point(0,0)); 

     for(var i=1; i < points.length; i++) { 
      var m=points[i]; 

      var mylatlng=new google.maps.LatLng(m[0], m[1]); 
      var marker=new google.maps.Marker({ 
       position: mylatlng, 
       map: map, 
       icon: image}); 
     }  
} 
+0

接受最近的問題! – hsz

回答

0

變化的第二個功能是這樣的:

function GetMap(map, mappoints) {  

     var image=new google.maps.MarkerImage('../Images/map/iconr.png', 
        new google.maps.Size(20,32), 
        new google.maps.Point(0,0)); 

     for(var i=0; i < mappoints.length; i++) { 
      var m=mappoints[i]; 

      var mylatlng=new google.maps.LatLng(m[0], m[1]); 
      var marker=new google.maps.Marker({ 
       position: mylatlng, 
       map: map, 
       icon: image}); 
     } 

你正在創建一個名爲mappoints變量,但後來將其稱爲點。此外,javascript數組爲零索引,因此如果循環播放它們,通常需要從0開始,而不是1.