GMAPS API无法在localhost中运行

时间:2016-10-04 20:20:50

标签: javascript google-maps google-maps-api-3 google-api google-maps-api-2

我试图执行GMAPS API密钥https://developers.google.com/maps/documentation/javascript/tutorial?hl=es-419

的第一个示例

在localhost的示例网站中,但地图没有加载。 API密钥正确并通过我的Google项目进行检查。

    <!DOCTYPE html>
<html>
<head> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="/js/jquery.min.js" type="text/javascript"></script>
 <style type="text/css">
      html, body { height: 100%; margin: 0; padding: 0; }
      #map { height: 100%; }
    </style>

<link href="styles.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="/js/main.js"></script>



</head>

<div id="content">


<div id="header"> 
    <div id="logo">
        <h1><a href="#">MiEmpresa</a></h1>
        <h2><a href="" id="metamorph">Programación web a medida</a></h2>
    </div>
    <div id="menu">
        <ul>
            <li><a href="index.html" title="">Inicio</a></li>
            <li><a href="presupuesto.html" title="">Presupuesto</a></li>
            <li><a href="galeria.html" title="">Galería</a></li>
            <li><a href="localizacion.html" title="">Dónde estamos</a></li>
            <li><a href="contacto.html" title="">Contacto</a></li>
        </ul>
    </div>
</div>


 <div id="main_top">
<div id="main">
    <div id="right">
      <div id="map"></div>
    <script type="text/javascript">

var map;
function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: -34.397, lng: 150.644},
    zoom: 8
  });
}

    </script>
    <script async defer
      src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB0t7voaGTqvsbCQ12MUWEfAquxMkLNBXc&callback=initMap">
    </script>

    </div>




</body>
</html>

2 个答案:

答案 0 :(得分:0)

假设您已连接到intenet并且localhost未脱机

尝试在#map

中添加宽度
    #map {
        height: 100%;  
        width: 500px;
   }

如果有效,那么你应该为地图ID和所有父容器指定一个合适的宽度(例如:width:100%;)

答案 1 :(得分:0)

相关问题:google maps refreshing grey

来自那个问题:

  

确保显示地图的div具有有效大小,如果它被隐藏,则它将具有零大小,并且您需要在它具有有效大小之前显示div。如果使用百分比调整大小,请确保其所有父元素具有百分比大小或特定大小(请参阅Mike Williams' Google Maps API v2 tutorial on the subject for details)。

您的地图没有尺寸。如果我添加以下css:

  #right { height: 100%; }
  #main {height: 500px; }
  #map { height: 100%; }

地图出现。

代码段

var map;

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    center: {
      lat: -34.397,
      lng: 150.644
    },
    zoom: 8
  });
}
html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}
#right {
  height: 100%;
}
#main {
  height: 500px;
}
#map {
  height: 100%;
}
<div id="content">


  <div id="header">
    <div id="logo">
      <h1><a href="#">MiEmpresa</a></h1>
      <h2><a href="" id="metamorph">Programación web a medida</a></h2>
    </div>
    <div id="menu">
      <ul>
        <li><a href="index.html" title="">Inicio</a>
        </li>
        <li><a href="presupuesto.html" title="">Presupuesto</a>
        </li>
        <li><a href="galeria.html" title="">Galería</a>
        </li>
        <li><a href="localizacion.html" title="">Dónde estamos</a>
        </li>
        <li><a href="contacto.html" title="">Contacto</a>
        </li>
      </ul>
    </div>
  </div>


  <div id="main_top">
    <div id="main">
      <div id="right">
        <div id="map"></div>
      </div>
    </div>
  </div>
</div>
<script async defer src="https://maps.googleapis.com/maps/api/js?callback=initMap">
</script>