我想使用地理位置和方向功能,但有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>
答案 0 :(得分:12)
如果您在控制台中遇到错误,那么这是我应用的简单解决方案。
按给定顺序包含脚本文件..
<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库并从下面删除它(它会起作用。)我希望它一定会有效。< / p>
答案 1 :(得分: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密钥 功能正常。但是,我们强烈建议您加载 Maps API使用API控制台键,可以监控您的 应用程序的Maps API用法。了解如何使用API控制台密钥。
所以,显然你不再需要开发人员密钥了!我尝试了两种方法 - static no key 和 dynamnic with key - 两者都有效。
答案 2 :(得分:-1)
Google未定义意味着未加载您的Google地图库,这意味着您使用的是https或http,并且您通过http ot https请求将其更改为https或http .... 如果你在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>