2017-03-14 30 views
0

私はjsonファイルを読み込んでからgooglemapを読み込む方法

<script> 
jsonmap={}; 
jqxhr=$.getJSON("postheat.json",function(data){ 
return data}).done(function(data){ 
    jsonmap=data; 
    return data; 
}); 
function initMap(){ 
    mapjson.....; 
} 
</script> 
<script src="//maps.google.com/maps/api/js?sensor=true&callback=initMap"></script> 

javascriptのコールバック関数でGoogleマップを使用しかし、私はinitMapたときに、私が見つけ、JSONデータはまだ準備ができていません。 jsonデータが既にロードされていることを確認し、initMap関数を実行する方法。

jsonmap={}; 

jqxhr = $.getJSON("postheat.json",function(data){ 
      jsonmap=data; 
      //try adding script to the page here: 
      var s=document.createElement("script"); 
      s.src="//maps.google.com/maps/api/js?sensor=true&callback=initMap"; 
      document.head.appendChild(s); 
     }); 

function initMap(){ 
    mapjson.....; 
} 

しかし、私はより良い方法があると確信している:

答えて

0

は、コールがdoneブロックで完了した後initmapを呼び出してみてください。あなたがマップのドキュメントから何かを得ることができる場合は試してみてください。

+0

私が言ったように、maploadはコールバックで、maploadがdirectionlly initMap関数を呼び出すと終了します。私はiniMapを2回呼ぶことになるのですか? – user504909

関連する問題