2009-05-17 89 views
11

Google Maps APIを使用して特定のページに地図を表示しています。Google Maps API - 読み込み速度が遅い

ファイルhttp://maps.google.com/maps?file=api.....は、ブラウザのファイルを待っているために残りのJavaScriptがドキュメントの準備が整った状態になっているため、ページのパフォーマンスが低下することがあります。 Google。

JavaScriptファイルを<head>タグから自分のコンテンツの下に移動しようとしました。しかし、ブラウザがGoogleからのファイルを待つので、残りのJavaScriptは実行されません。

この問題を回避する方法はありますか?最近は始まりましたが、私はなぜそれがわかりません。

誰もが興味を持っている場合、これは、私のコードです:

<script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=ABQIAAAAa24xicak8_ghHX58i7La7hRFh9iM79SNC94rOejOtdMRvQmJiBS6Uv5F_1BNSh9ZuSzFXyekHISgew"> </script> 
<script type="text/javascript" src="/js/maps.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
    // Google Maps 
    initialize(); 

    // Other JavaScript comes here.... 

    }); 
</script> 

私は即座にファイルのロード

http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=ABQIAAAAa24xicak8_ghHX58i7La7hRFh9iM79SNC94rOejOtdMRvQmJiBS6Uv5F_1BNSh9ZuSzFXyekHISgew 

にアクセスする場合。

+7

Firebugを使用していますか?私はマップAPIで作業していたときに火薬爆弾が私のアプリのパフォーマンスを低下させたことを発見しました。 –

+0

私は同じことを見たことがありますが、Firefoxでのみ、そしてlocalhostに対して実行しています。 IEとChromeはうまくいきました。 – RichH

+0

私はFirebugを使ってデバッグしています。私はそれをオフに切り替えて、それが役立つかどうかを調べることができます。 – janhartmann

答えて

16

これはかなり古い質問です。解決策は、ファイヤーバグ(少なくとも私にとっては)を無効にすることでした。

+2

はい、私にとっても、私はFFとIE9の両方で調査していましたが、FF9のFirebugとIE9の開発者ツールを閉じると、マップがロードされました。 – Adil

3

JavaScript最適化の場合:JSをMaps APIのスクリプトの最下部に配置してください。私は本当に頭の中にJSを持つ良い理由を考えることができません。

+0

私はこれが古いと知っていますが、Googleマップのapiまたはrequire.jsを使用している場合は、その両方をお勧めします。 – skaterdav85

+1

私は両方のための底に問題がなかった。 –

+0

JavaScriptを一番下に置くと、ページがレンダリングされるまで実行されません。これは、いくつかのシナリオでは望ましくありません。 – Muhd

12

GoogleのAjax APIを使用します。過去のある時点から、GoogleのすべてのサービスにJavaScript APIを通じてアクセスできます。モジュラーシステムでは、JSAPIライブラリを含めるだけで、必要なモジュールを動的にロードすることができます。これにより、サイトがブロックされることはありません。

<script type="text/javascript"   
     src="http://www.google.com/jsapi?key=ABCDEFG"></script> 
<script type="text/javascript"> 
google.load("maps", "2"); 
google.setOnLoadCallback(function() { 
    // Your logic goes here. 
    // It will be run right after the maps module was loaded. 
}); 
</script> 

詳細については、JSAPI's developer documentationを参照してください。

関連する問題