2017-02-28 21 views
0

私はユニークな問題があります。つまり、興味深い場所がたくさんあるソーシャルウェブサイトがあります。すべての場所にGoogleマップがあります。今日は問題があります。エラー:initMapは関数ではありません

google apiからマップを作成するアドレスを新しい場所に追加すると機能しません。

エラー

"initMap is not a function".

いただきました間違っても、私は以前に追加した場所を確認したと、彼らは通常のマップがありますか?なぜGoogle apiから新しく作成された場所の地図がうまくいかないのですか?私は自分のAPIキーとそれを使用します。

<script async defer src="https://maps.googleapis.com/maps/api/js?key=MY_API&callback=initMap"></script> 

答えて

1

あなたのコード内で「initMap」と呼ばれる機能がありますか?そうでなければ、このエラーが発生します。 async属性を使用すると、Maps JavaScript APIが読み込まれている間にブラウザがウェブサイトの残りの部分をレンダリングできます。 APIが準備完了すると、コールバックパラメータを使用して指定された関数が呼び出されます。別の名前で別のコールバック関数を使用する場合は、それは問題ありませんが、この要求URLを適宜変更する必要があります。また、コールバックパラメータを完全に削除することもできますが、コードをロードしてマップをロードする必要があります。これを行う場合は非同期遅延を削除する必要もあります。そうしないと、googleが定義されていないというエラーが表示されます。修正スクリプトタグは、次のようになります。

https://jsfiddle.net/gy3yg9ma/11/

をサンプルを使用し、独自のAPIキーを挿入してください:

<script src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY"></script> 

私はここにこれを証明する例があります。 initMap()をどのように呼び出さなければならなかったかに注目してください。手動でコールバックパラメータを削除してから私のコードで。ロードするために関数が呼び出されるまで、マップはロードされません。

こちらがお役に立てば幸いです。

2

おそらくコード内のスクリプトの位置に由来します。確認してください;

<script src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY"></script> 

initMap機能を含むスクリプトブロックをロードします。

<script type="text/javascript"> 
function initMap() { 
// 
} 
<script src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY"></script> 
関連する問題