Google maps api 3 Google Map V3 API在localhost中不工作

Google maps api 3 Google Map V3 API在localhost中不工作,google-maps-api-3,Google Maps Api 3,我从GoogleMaps文档中复制了以下javascript代码,但它不起作用,它只显示一个白色空白页面,没有加载任何内容 <!DOCTYPE html> <html> <head> <title>Google Maps JavaScript API v3 Example: Map Geolocation</title> <meta name="viewport" content="initial-scale=1

我从GoogleMaps文档中复制了以下javascript代码,但它不起作用,它只显示一个白色空白页面,没有加载任何内容

<!DOCTYPE html>
  <html>
 <head>
   <title>Google Maps JavaScript API v3 Example: Map Geolocation</title>
   <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
   <meta charset="UTF-8">

<!--
Include the maps javascript with sensor=true because this code is using a
sensor (a GPS locator) to determine the user's location.
See: http://code.google.com/apis/maps/documentation/javascript/basics.html#SpecifyingSensor
-->
<script type="text/javascript"
    src="http://maps.googleapis.com/maps/api/js?sensor=true"></script>

<script type="text/javascript">
  var map;

  function initialize() {
    var myOptions = {
      zoom: 6,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById('map_canvas'),
        myOptions);

    // Try HTML5 geolocation
    if(navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(function(position) {
        var pos = new google.maps.LatLng(position.coords.latitude,
                                         position.coords.longitude);

        var infowindow = new google.maps.InfoWindow({
          map: map,
          position: pos,
          content: 'Location found using HTML5.'
        });

        map.setCenter(pos);
      }, function() {
        handleNoGeolocation(true);
      });
    } else {
      // Browser doesn't support Geolocation
      handleNoGeolocation(false);
    }
  }


  function handleNoGeolocation(errorFlag) {
    if (errorFlag) {
      var content = 'Error: The Geolocation service failed.';
    } else {
      var content = 'Error: Your browser doesn\'t support geolocation.';
       }

         var options = {
         map: map,
         position: new google.maps.LatLng(60, 105),
         content: content
       };

       var infowindow = new google.maps.InfoWindow(options);
       map.setCenter(options.position);
     }

     google.maps.event.addDomListener(window, 'load', initialize);
   </script>
 </head>
 <body>
   <div id="map_canvas"></div>
 </body>
  </html>

谷歌地图JavaScript API v3示例:地图地理位置
var映射;
函数初始化(){
变量myOptions={
缩放:6,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById('map_canvas'),
肌肽);
//试试HTML5地理定位
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(函数(位置){
var pos=新的google.maps.LatLng(position.coords.latitude,
位置坐标经度);
var infowindow=new google.maps.infowindow({
地图:地图,
职位:pos,,
内容:“使用HTML5找到的位置。”
});
地图设置中心(pos);
},函数(){
手持导航(真);
});
}否则{
//浏览器不支持地理位置
手动定位(假);
}
}
函数handleNogeLocation(errorFlag){
如果(错误标志){
var content='错误:地理位置服务失败';
}否则{
var content='错误:您的浏览器不支持地理位置';
}
变量选项={
地图:地图,
职位:新google.maps.LatLng(60105),
内容:内容
};
var infowindow=new google.maps.infowindow(选项);
地图设置中心(选项位置);
}
google.maps.event.addDomListener(窗口“加载”,初始化);

既然v3需要api密钥,它有什么问题?我登录了谷歌chrome和firefox,但没有任何线索。

看起来你缺少了一个结束标记
html
,除非是打字错误


将此
添加到页面底部。

看起来您缺少一个关闭
html
标记,除非这是一个打字错误


将此
添加到页面底部。

您需要提供一个
中心
位置来创建
地图
。在
initialize()
函数中,更改地图选项以包括要开始的位置:

var myCenter = new google.maps.LatLng(60.0,105.0);
var myOptions = {
  zoom: 6,
  center: myCenter, 
  mapTypeId: google.maps.MapTypeId.ROADMAP
};

当(或如果)您从地理定位服务获得一个位置时,该中心将根据您的代码进行更改。

您需要提供一个
中心
位置来创建
地图
。在
initialize()
函数中,更改地图选项以包括要开始的位置:

var myCenter = new google.maps.LatLng(60.0,105.0);
var myOptions = {
  zoom: 6,
  center: myCenter, 
  mapTypeId: google.maps.MapTypeId.ROADMAP
};

当(或如果)您从地理定位服务获得一个位置时,该中心将根据您的代码进行更改。

旧问题将以任何方式回答,以防其他人在此登陆

我最终使用了一个稍微不同的实现来实现这一点:

<script type="text/javascript">
  function initialize() {
    var mapOptions = {zoom: 8, center: new google.maps.LatLng(-34.397, 150.644)};
    var map = new google.maps.Map(document.getElementById('map-canvas'), 
                                  mapOptions);
  }

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

  window.onload = loadScript();
</script>

函数初始化(){
var mapOptions={zoom:8,center:new google.maps.LatLng(-34.397150.644)};
var map=new google.maps.map(document.getElementById('map-canvas'),
地图选项);
}
函数loadScript(){
var script=document.createElement('script');
script.type='text/javascript';
script.src=https://maps.googleapis.com/maps/api/js?v=3.exp'+
'&key={{API_key}}}&sensor=false&callback=initialize';
document.body.appendChild(脚本);
}
window.onload=loadScript();
我必须添加的部分是loadScript()末尾的()。隐式函数调用根本没有发生

您需要将{{API_KEY}}替换为您自己的。我不确定这是否是必需的,但这是导致我实现工作的一部分


如果您没有,请按照列出的步骤操作旧问题,以防其他人登陆

我最终使用了一个稍微不同的实现来实现这一点:

<script type="text/javascript">
  function initialize() {
    var mapOptions = {zoom: 8, center: new google.maps.LatLng(-34.397, 150.644)};
    var map = new google.maps.Map(document.getElementById('map-canvas'), 
                                  mapOptions);
  }

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

  window.onload = loadScript();
</script>

函数初始化(){
var mapOptions={zoom:8,center:new google.maps.LatLng(-34.397150.644)};
var map=new google.maps.map(document.getElementById('map-canvas'),
地图选项);
}
函数loadScript(){
var script=document.createElement('script');
script.type='text/javascript';
script.src=https://maps.googleapis.com/maps/api/js?v=3.exp'+
'&key={{API_key}}}&sensor=false&callback=initialize';
document.body.appendChild(脚本);
}
window.onload=loadScript();
我必须添加的部分是loadScript()末尾的()。隐式函数调用根本没有发生

您需要将{{API_KEY}}替换为您自己的。我不确定这是否是必需的,但这是导致我实现工作的一部分


如果您没有,请按照列出的步骤进行操作

对不起,我犯了一个错误…当我剪切并粘贴时忽略了它。不,这不是它不工作的原因。对不起,我的错误…当我剪切和粘贴它时忽略了。不,这不是它不起作用的原因。