地图画布下方的任何内容都不会显示

时间:2014-05-21 04:14:25

标签: javascript html html5 google-maps

我正在尝试制作一个嵌入谷歌地图的网站。但是,地图下方的任何内容都不会显示。

<!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: 0; padding: 0 }
      #map-canvas { height: 80%; width: 80%; margin: 50px; }
    </style>
    <script type="text/javascript"
      src="https://maps.googleapis.com/maps/api/js?key={my_api_key}&sensor=TRUE">
    </script>
    <script type="text/javascript">
      function initialize() {
        var mapOptions = {
          center: new google.maps.LatLng(-34.397, 150.644),
          zoom: 8
        };
        var map = new google.maps.Map(document.getElementById("map-canvas"),
            mapOptions);
      }
      google.maps.event.addDomListener(window, 'load', initialize);
    </script>
  </head>
  <body>
    <div>Google map test</div>
    <div id="map-canvas"/>
    <div>End of google map test</div>
  </body>
</html>

如果你想在body部分看到有三个div标签:第一行文本,第二行是地图,第三行是更多文本。第一个div标签和地图正在显示,但最后一个显示Google地图测试结束的div标签根本没有显示。你们中的任何人都知道问题是什么吗?谢谢。

1 个答案:

答案 0 :(得分:3)

你不能这样关闭<div />

根据W3C:

A div element must have both a start tag and an end tag.

来源:http://www.w3.org/TR/html-markup/div.html

改变这个:

   <div id="map-canvas"/>

   <div id="map-canvas"></div>