0

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);
          });   
  }
4

1 に答える 1

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));   
     }

これが将来誰かに希望を与えることを願っています.乾杯;-)。

于 2013-05-10T11:33:38.413 に答える