2017-10-11 12 views
0

のマーカーと同じデータを表示できません。infowindow google mapsにamchartsを表示したいのですが、私のグラフはinfowindowのデータをループできません。 マーカー1をクリックすると、データ比率が表示されず、マーカー2をクリックすることができます。データ比率マーカー1は表示できますが、マーカー2は表示されません。マーカーと同じ情報ウィンドウのデータを表示する方法は、infowindow google maps api(v3)

Codepen.ioMy Code

答えて

0

メソッドでは、最初のパラメータで指定されたIDがDOMに存在する必要があります。そうでないと機能しません。情報ウィンドウがDOMにアタッチされる前にinitAmChartsを呼び出すので、インフォボックスにdomreadyリスナーを追加し、そこにmakeChartを呼び出す必要があります。また、リソースを節約するためにcloseリスナーを添付してグラフインスタンスをクリアすることもできますが、domreadyイベント中にチャートデータをクローンして、clearが完全に削除しないようにする必要があります。

データを保存しているときにグラフを追加および消去するコードは次のとおりです。私は、彼らが冗長に思えたとしてシフトを呼び出して削除しても、情報ウィンドウを再オープンするときにチャートを破った:

 var chartLine; 
     var chartWa; 
     google.maps.event.addListener(infowindow, 'domready', function() { 
     var line_data_copy = JSON.parse(JSON.stringify(item.line_data_chart)); 
     var wa_data_copy = JSON.parse(JSON.stringify(item.wa_data_chart)); 
     chartLine = initAmChart("divChartLine", colors_line, line_data_copy); 
     chartWa = initAmChart("divChartWa", colors_wa, wa_data_copy); 

      chartLine.allLabels[0].text = item.line_ratio+"%"; 
      chartLine.validateData();  

      chartWa.allLabels[0].text = item.wa_ratio+"%"; 
      chartWa.validateData();  
     }); 

     google.maps.event.addListener(infowindow, 'close', function() { 
     chartLine.clear(); 
     chartWa.clear(); 
     }) 

Updated codepen

+0

@xorsparkIをしようとしたが、どのようにdomready UBイベントがクリックした場合に自動マップを閉じるには? これを削除しようとしました infowindow.setContent(infowindowChart); infowindow.open(marker.getMap()、marker); }); // end_marker_listener google.maps.event.addListener(情報ウィンドウ、 'クローズ'、関数(){ chartLine.clear(); chartWa.clear();} ) この置き換えますinfowindow.close(); infowindow.setContent(infowindowChart); infowindow.open(marker.getMap()、marker); }); しかし、動作していません –

+0

私はあなたが何を求めようとしているのか分かりません。問題をより詳しく説明できるコードペインを投稿できますか? – xorspark

関連する問題