首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未捕获的ReferenceError:谷歌未定义

问未捕获的ReferenceError:谷歌未定义
EN

Stack Overflow用户
提问于 2012-09-20 02:25:19
回答 3查看 89.3K关注 0票数 16

我想使用地理位置和方向函数,但有google is not defined错误。代码如下:

代码语言:javascript
复制
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不工作了!

代码语言:javascript
复制
var mapOptions = {
                zoom : 13,
                mapTypeId : google.maps.MapTypeId.ROADMAP
            };
            map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

错误会从这里跳出来。有谁知道怎么解决这个问题吗?我需要使用key来获取地理位置服务,所以我不能使用simple

代码语言:javascript
复制
<script src="https://maps.googleapis.com/maps/api/js?sensor=true"></script>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-12 13:16:30

如果您的人在控制台中遇到错误,那么这里是我应用的简单解决方案。

按照给定的顺序包含脚本文件。

代码语言:javascript
复制
<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库并将其从下面的两个库中删除(这是可行的)。我希望它一定能行得通。

票数 11
EN

Stack Overflow用户

发布于 2012-09-20 15:25:43

我用这段代码自己试过了--它对我来说运行得很好

使用key的Dynamic

代码语言:javascript
复制
<!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>

不带密钥的Static

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

在网上冲浪时,我跌倒在一个重要的笔记上!

谷歌地图JavaScript API v3

Google Maps API v3不需要JavaScript密钥即可正常运行。但是,我们强烈建议您使用API控制台键加载Maps API,它允许您监视应用程序的Maps API使用情况。了解如何使用API控制台密钥。

请参阅

因此,显然您不再需要开发人员密钥!我尝试了这两种方式--静态的无键和动态的有键的--都能用。

票数 11
EN

Stack Overflow用户

发布于 2015-06-30 16:16:07

Google未定义意味着您的google地图库未加载,这意味着您使用的是https或http,您正在通过http或https进行请求,因此请将其更改为https或http ...意思是如果你在http上

代码语言:javascript
复制
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>

意思是如果你用的是https

代码语言:javascript
复制
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12500654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档