2017-10-26 15 views
3

各マーカー情報ウィンドウに、イベントの名前を表示するタイトルを表示しようとしています。今はJSON配列の最後の要素名しか表示できず、他の要素をイベントのタイトルにする方法が不明です。どんな助けでも感謝しています!また、私は...最終的に、このような「eventPhone」などのように夫婦の他の要素に名前を付けるイベントと一緒に表示したいだけの最後の要素を示すマーカーはJSON配列の最後の要素のみを表示します

情報ウィンドウになります。

current display

何配列は、次のようになります。

JSON elements display

私の追加、マーカー機能:

addMarkersMap(markers){ 
for(let marker of markers) 
{ 
var loc = marker.calEvent.locations[0]['coords']; 
var name = marker.calEvent['eventName']; 

    console.log(name); //displays name of each event within this object 


    marker = new google.maps.Marker({ 
    position: loc, 
    map: this.map, 

    }); 



    var infoWindow = new google.maps.InfoWindow({ 

     //content: name 
    }); 


     google.maps.event.addListener(marker, 'click', function() { 
     infoWindow.open(this.map, marker); 
     infoWindow.setContent(name); 
     }); 



} 
} 

JSON:

http://app.toronto.ca/cc_sr_v1_app/data/edc_eventcal_APR?limit=500

答えて

3

EDIT:だから、ちょうど、letの適切なブロックが動作するように変数宣言をスコープ有効にするために、すべてのvarletに変更し、また、条約に従うこと。

の値が最後のクロージャの問題が発生している可能性があります。

それはあなたのはブロックスコープになりますようLETは、この問題を解決する必要がありますが、生命維持にあなたのaddListenerを作り、それが助けかどうかを確認してみてください:閉鎖してみましたhere

+0

(function(marker) { google.maps.event.addListener(marker, 'click', function() { infoWindow.open(this.map, marker); }); }(marker)); 

さらに詳しい情報編集しても情報ウィンドウにはまだ "The Santa Claus Parade"と表示されます – skotienos13

+0

サンプル 'locations' jsonはどのように見えますか?それをあなたの質問の投稿に含めることができますか?そして、他の9つのコンソールエラーがこれに影響している可能性があります。あなたはあなたのポストにそれらをリストすることもできます。大会のために 'var'を' let'に変更してみてください。 – henrisycip

+0

ここにJSONのフィードがあります:http://app.toronto.ca/cc_sr_v1_app/data/edc_eventcal_APR?limit=500 – skotienos13

関連する問題