16

ジオロケーションと方向関数を使いたいのですが、google is not definedエラーがあります。コードは次のとおりです。

function loadScript() {
            var script = document.createElement('script');
            script.type = 'text/javascript';
            script.src = "https://maps.googleapis.com/maps/api/js?key=mykey&sensor=true" + "&callback=initialize";
            document.body.appendChild(script);
        }

loadScriptが機能していないようです。

var mapOptions = {
                zoom : 13,
                mapTypeId : google.maps.MapTypeId.ROADMAP
            };
            map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

ここからエラーが飛び出します。それを理解する方法を知っている人はいますか?ジオロケーションサービスを取得するにはキーを使用する必要があるため、単純なものは使用できません

<script src="https://maps.googleapis.com/maps/api/js?sensor=true"></script>
4

3 に答える 3

11

私はこのコードで自分でそれを試しました-それは私にとってはうまくいきました

キーで動的

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
        html {  height: 100%; }
        body
        {
            height: 100%;
            margin: 0px;
            padding: 0px;
        }
        #map_canvas { height: 100%;}
    </style>
    <script type="text/javascript">
        function initialize() {
            var latlng = new google.maps.LatLng(-34.397, 150.644);
            var myOptions = {
                zoom: 8,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var map = new google.maps.Map(document.getElementById("map_canvas"),
        myOptions);
        }
        var myKey = "ENTER_YOUR_KEY_HERE";
        function loadScript() {
            var script = document.createElement('script');
            script.type = 'text/javascript';
            script.src = "https://maps.googleapis.com/maps/api/js?key=" + myKey + "&sensor=false&callback=initialize";
            document.body.appendChild(script);
        }
    </script>
</head>
<body onload="loadScript()">
    <div id="map_canvas" style="width: 100%; height: 100%">
    </div>
</body>
</html>

キーなしで静的

  ...
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false">
</script>
</head>
<body onload="initialize()">
   ...

ネットサーフィンをしているとき、私は重要なメモに転倒しました!

Google Maps JavaScript API v3

Google Maps JavaScript API v3は、正しく機能するためにAPIキーを必要としません。ただし、アプリケーションのMapsAPIの使用状況を監視できるAPIコンソールキーを使用してMapsAPIを読み込むことを強くお勧めします。APIコンソールキーの使用方法を学びます。

GoogleMapsAPIを見る

したがって、どうやらあなたはもはや開発者キーを必要としません!静的なキーなし動的なキー付きの両方で試してみましたが、どちらも機能しました。

于 2012-09-20T07:25:43.353 に答える
11

コンソールでエラーが発生している場合は、これが私が適用した簡単な解決策です。

スクリプトファイルを指定された順序で含めます。

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>

最初に'maps.googleapis.com/maps/api/js?sensor=false'を含めてから、jqueryライブラリに移動し、両方の下から削除する必要があります(機能します)。確実に機能することを願っています。

于 2013-03-12T05:16:30.443 に答える
0

グーグルが定義されていないということは、グーグルマップライブラリがロードされていないことを意味します。つまり、httpsまたはhttpを使用していて、httpまたはhttpsを介してリクエストしているので、httpsまたはhttpに変更してください。

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>

httpsを使用している場合は

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
于 2015-06-30T08:16:07.160 に答える