2016-11-29 16 views
1

GoogleアプリケーションをWebアプリケーションに統合しようとしていますが、コードで「google not defined」というエラーが表示されます。Maps APIを統合する際に「googleが定義されていません」

誰かが私を理解するのに役立つことができますか?前もって感謝します。

</head><script src="http://maps.google.com/maps/api/js?key=AIzaSyAdXcTNKKaje1AtGQq32SwOMJ5Um-EE5GU " async="" defer="defer" type="text/javascript"></script> 

<body> <div id="map" style="width: 400px; height: 300px;"></div><script type="text/javascript"> 
    function LoadGoogle() 
    { if(typeof google != 'undefined' && google && google.load) 
     { 
      var address = 'UK'; 

      var map = new google.maps.Map(document.getElementById('map'), { 
       mapTypeId: google.maps.MapTypeId.TERRAIN, 
       zoom: 6 
      }); 

      var geocoder = new google.maps.Geocoder(); 

      geocoder.geocode({ 
       'address': address 
      }, 
      function(results, status) { 
       if(status == google.maps.GeocoderStatus.OK) { 
        new google.maps.Marker({ 
         position: results[0].geometry.location, 
         map: map 
        }); 
        map.setCenter(results[0].geometry.location); 
       } 
      }); 
      } 
     else 
     { 
      setTimeout(LoadGoogle, 30); 
     } 
    } 
    LoadGoogle(); </script></body> 

まだ同じエラーを取得し、また、これを試してみました。

var map = new google.maps.Map(document.getElementById('map'), { 
      mapTypeId: google.maps.MapTypeId.TERRAIN, 
      zoom: 6 
     }); 

     var geocoder = new google.maps.Geocoder(); 

     geocoder.geocode({ 
      'address': address 
     }, 
     function (results, status) { 
      if (status == google.maps.GeocoderStatus.OK) { 
       new google.maps.Marker({ 
        position: results[0].geometry.location, 
        map: map 
       }); 
       map.setCenter(results[0].geometry.location); 
      } 
     }); 
+0

使用するGoogleマップ 'callback'機能を呼び出すことはありません。 Googleマップスクリプトが読み込まれると、メソッドを呼び出します。 –

答えて

3

あなたは、Googleのライブラリを延期しているが含まれ、その際LoadGoogle()実行すると、ライブラリは必ずしもロードされていません。それについて移動する

2つの方法:テスト用

  • 、非同期/削除が含まから延期。

  • プロダクションでは、他のものがすべて読み込まれた後でカスタムスクリプトが実行されていることを確認してください。これを行う方法は、Googleが提供するコールバックを使用することです。そのため、スクリプトは読み込み時にLoadGoogle関数を呼び出します。

<script src="http://maps.google.com/maps/api/js?key=AIzaSyAdXcTNKKaje1AtGQq32SwOMJ5Um-EE5GU&callback=LoadGoogle" async="async" defer="defer" type="text/javascript"></script>

次に、あなたのスクリプトの中で、LoadGoogle()

Reference

+0

延期を削除しようとしましたが、うまくいきません – Samsam

+0

コールバックのparamおよび参照チュートリアルの説明を編集を参照してください – xShirase

+0

返信いただきありがとうございます。今はどんなエラーも出ていませんが、地図は表示されません。 – Samsam

関連する問題