2013-05-10 15 views
0

我正在使用jquery-ui-map向項目中添加多個標記到地圖。每個標記將具有不同文本的不同信息窗口。但是當我通過迭代我的數組添加它們時,相同的文本會顯示在所有信息窗口中。有誰能幫我解決這個問題嗎?我一直在把我的頭髮拉過來。使用jquery-ui-map添加具有不同文本的信息窗口的多個標記

$('#AroundMePage #map_canvas').gmap({'center': '-37.816945,144.953573', 'zoom': 12}); 

for (var i = 0, len = workOderLocalArray.length; i < len; ++i) { 
     var workOrder =workOderLocalArray[i]; 

     var address = workOrder.PropertyAddress; 
     var coordinates = workOrder.PropertyCoordinates; 

     $('#AroundMePage #map_canvas').gmap('addMarker', { 'position':coordinates }).click(function() { 
      $('#AroundMePage #map_canvas').gmap('openInfoWindow', { 'content': coordinates }, this); 
      }); 
    } 

回答

0

我終於明白了這一點。看來我在關閉時遇到問題。但所有的答案/修復都展示瞭如何使用原生javascript googl maps api解決這個問題,這是一個非常冗長的解決方案/代碼,而不是JQuery-ui-map api。

以下是我的最終代碼:

//Function Retuning the Info window click event function 
    function makeInfoWindowEvent(address) { 
     return function() { 
        $('#AroundMePage #map_canvas').gmap('openInfoWindow', { 'content': address }, this); 
      }; 
    } 

var workOderLocalArray = workOrdersObject.workOrderArr; 


    for (var i = 0, len = workOderLocalArray.length; i < len; ++i) { 
     var workOrder =workOderLocalArray[i]; 

     var address = workOrder.PropertyAddress; 
     var coordinates = workOrder.PropertyCoordinates; 

     $('#AroundMePage #map_canvas').gmap('addMarker', { 'position':coordinates }).click(makeInfoWindowEvent(address)); 
    } 

希望這將是有望有人在future.Cheers ;-)。

相關問題