2016-04-13 22 views
0

ここに固執しているのは何か。私は自分のウェブページに非常にシンプルなGoogleマップを追加し、基本的なjavascript APIを使用しています。クロムですべてうまく動作しますが、インターネットエクスプローラでは時折動作します。表示されるエラーは次のとおりです。Internet ExplorerのGoogleマップ

SCRIPT5022: InvalidValueError: initMap is not a function js, line 102 character 390

エラーは、GoogleマップではなくGoogleマップへの呼び出しを指します。

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> 
    <title>Under Construction</title> 
    <link rel="shortcut icon" href="images/betterlogo.ico" type="image/x-icon"> 

    <!-- Bootstrap --> 
    <link href="css/bootstrap.min.css" rel="stylesheet"> 
    <link rel="stylesheet" href="css/animate.css"> 
    <link rel="stylesheet" href="css/thumbnails.css"> 
    <link rel="stylesheet" href="css/main.css"> 

    <!-- JS --> 

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> 
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 
<!--[if lt IE 9]> 
<script src="js/html5shiv.min.js"></script> 
<script src="js/respond.min.js"></script> 
<![endif]--> 
<script src='js/device.min.js'></script> 
</head> 
 <div class="col-md-6 col-sm-12 col-xs-12"> 
     <div class="container-fluid"> 
      <div id="map-canvas"></div> 
     </div> 
     </div> 

<誰もが見る必要はありません--someより多くのコードフィラー、 - >

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
<!-- Include all compiled plugins (below), or include individual files as needed --> 
<script src="js/bootstrap.min.js"></script> 
<script src="js/jquery.ui.accordion.min.js"></script> 
<script src="js/wow.js"></script> 
<script src="js/jquery.easing.1.3.js"></script> 
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDFmJX1o4ocAPluAPlDWlh-VX_35iwc23o&libraries=places&callback=initMap" async defer></script> 
<script src="js/main.js"></script> 

と私のjavascript:だから私は

function initMap() { 
    var myLatLng = {lat:40.4917507, lng:-74.2971267}; 
    var map = new google.maps.Map(document.getElementById('map-canvas'),{ 
    center: myLatLng, 
    zoom: 15 
    }); 
    var marker = new google.maps.Marker({ 
    position: myLatLng, 
    map:map, 
    title:"abc" 
    }); 

    google.maps.event.addDomListener(window, "resize", function(){ 
    var center=map.getCenter(); 
    google.maps.event.trigger(map, "resize"); 
    map.setCenter(center); 
    }) 
} 
+1

ブラウザのIEバージョンを確認してください。https://developers.google.com/maps/documentation/javascript/browsersupport#desktop –

+0

実行していますかIEのサポートされているバージョンですか? – geocodezip

+0

downvoteを保証するものは何ですか? – Jgoo83

答えて

3

main.jsファイルをtの呼び出しの上に移動しました彼はgooglemaps APIとそれは問題を解決しました。私は呼び出しがすべて私のjavascriptがロードされる前に行われていたと仮定しているので、mapsInitへのコールバックはまだ存在しませんでした。私の考えが正しい/間違っていれば、いくらかのフィードバックが大好きです。ありがとう

<script src="js/main.js"></script> 
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDFmJX1o4ocAPluAPlDWlh-VX_35iwc23o&libraries=places&callback=initMap" async defer></script> 
+0

同じ問題私の実際のinitマップがページにあり、その下にgoogleapisへの呼び出しがある以外は、 – CyberNinja

+0

があります。これは私にとってはうまくいきません。 – Omar

2

私は上記と同じエラーが発生しましたが、マークされた回答は役に立ちませんでした。誰でもInternet ExplorerでのみinitMapエラーが発生している場合は、「テンプレートリテラル」と「矢印機能」を含むInternet Explorer用に近すぎるJavaScriptを使用している可能性があります。私は自分のコードを調べて、このエラーを取り除いた古いコードに置き換えました。うまくいけば、誰かがデバッグの時間を節約できます。

関連する問題